我想用,但定义了MOUSEINPUT和INPUT结构,编译是时出现这个错误:
E:\My document\VC++programs\13\13.cpp(152) : error C2065: 'MOUSEINPUT' : undeclared identifier
E:\My document\VC++programs\13\13.cpp(152) : error C2065: 'INPUT' : undeclared identifier
请问是为什么?
如果能给出原码,就更好了。
问题点数:30、回复次数:17Top
1 楼Wargod2002(Wargod2002) 回复于 2002-07-20 12:15:53 得分 2
现在可以用mouse_event
Top
2 楼zhuwenzheng(卧薪尝胆) 回复于 2002-07-20 12:21:48 得分 20
lack *.h or *.lib
Top
3 楼brapler(ANN) 回复于 2002-07-20 12:43:25 得分 0
我的是win2000,msdn上就在2000上用sendinput,再说我也想用一用。
zhuwnzheng(),缺哪个?怎么加?Top
4 楼zhuwenzheng(卧薪尝胆) 回复于 2002-07-20 12:49:30 得分 0
now my computer have no msdn,so i dont give u a correct answer.Maybe you type your code,i give u some advice.
Top
5 楼zhuwenzheng(卧薪尝胆) 回复于 2002-07-20 12:59:59 得分 0
INPUT input;
input.type=INPUT_MOUSE;
input.mi.dwFlags=MOUSEEVENTF_LEFTDOWN;
SendInput(1,&input,sizeof(input));Top
6 楼brapler(ANN) 回复于 2002-07-20 16:48:18 得分 0
不行,只要有
INPUT input;
就报错,是不是sdk版本问题?Top
7 楼camel_vc(骆驼) 回复于 2002-07-20 20:24:30 得分 2
Requirements
Windows NT/2000/XP: Included in Windows NT 4.0 SP3 and later.
Windows 95/98/Me: Included in Windows 98 and later.
Header: Declared in Winuser.h; include Windows.h.Top
8 楼DragonCity(自己发工资) 回复于 2002-07-20 21:03:29 得分 2
呵呵,我是只会VB,今天来提问,顺便插句话
我试过,用API 函数 PostMessage可以实现诸如模拟鼠标移动的消息。不知道对你有没有帮助。Top
9 楼zhuwenzheng(卧薪尝胆) 回复于 2002-07-20 21:31:50 得分 0
typedef struct tagINPUT {
DWORD type;
union {MOUSEINPUT mi;
KEYBOARDINPUT ki;
HARDWAREINPUT hi;
};
}INPUT, *PINPUT;
Header Declared in Winuser.h, include Windows.h
Minimum operating systems Included in Windows 98, Windows NT 4.0 Service Pack 3
Top
10 楼brapler(ANN) 回复于 2002-07-20 22:44:39 得分 0
zhuwenzhen:你自已试了一下吗?Top
11 楼lihao_ningxia(耗子) 回复于 2002-07-21 08:10:46 得分 2
我用了POSTMESSAGE(HWND,MOUSE_EVENT,WM_MOUSELBUTTON,0)可以传过去!Top
12 楼brapler(ANN) 回复于 2002-07-21 11:36:36 得分 0
发消息不行的,我必须用模拟击键.
是缺了lib或h文件,但我不知道如何加呀?
帮帮小弟吧!Top
13 楼brapler(ANN) 回复于 2002-07-21 11:39:06 得分 0
Requirements
Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
Windows 95/98: Requires Windows 98.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
-------------------------------------------
请问这句是什么意思 :
Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
Top
14 楼siphonelee(sifone) 回复于 2002-07-21 13:09:33 得分 2
upTop
15 楼zhuwenzheng(卧薪尝胆) 回复于 2002-07-22 09:31:19 得分 0
我试过了,是可以的,你可以重新生成一个MFC的程序,添加#include "winuser.h"
然后定义INPUT input,最后 Input.type=INPUT_MOUSE;
Input.mi.dwFlags=MOUSEEVENTF_LEFTDOWN;
SendInput(1,&Input,sizeof(Input));
Windows NT/2000: Requires Windows NT 4.0 SP3 or later的意思是需要SP3 PACKAGE或更高版本
Top
16 楼brapler(ANN) 回复于 2002-07-22 13:07:05 得分 0
Thank you very much Zhuwenzheng.this problem is resolved.
本文转自博客园知识天地的博客,原文链接:有谁用过sendinput摸拟一个鼠标击键? ,如需转载请自行联系原博主。