您的位置:首页 > 其它

模拟鼠标键盘事件

2009-09-08 10:26 337 查看
模拟鼠标事件

::mouse_event(1) 模拟鼠标动作API函数mouse_event,它可以实现模拟鼠标按下和放开等动作。

VOID mouse_event(

DWORD dwFlags, // 鼠标动作标识。

DWORD dx, // 鼠标水平方向位置。

DWORD dy, // 鼠标垂直方向位置。

DWORD dwData, // 鼠标轮子转动的数量。

DWORD dwExtraInfo // 一个关联鼠标动作辅加信息。

);

其中,dwFlags表示了各种各样的鼠标动作和点击活动,它的常用取值如下:

MOUSEEVENTF_MOVE 表示模拟鼠标移动事件。

MOUSEEVENTF_LEFTDOWN 表示模拟按下鼠标左键。

MOUSEEVENTF_LEFTUP 表示模拟放开鼠标左键。

MOUSEEVENTF_RIGHTDOWN 表示模拟按下鼠标右键。

MOUSEEVENTF_RIGHTUP 表示模拟放开鼠标右键。

MOUSEEVENTF_MIDDLEDOWN 表示模拟按下鼠标中键。

MOUSEEVENTF_MIDDLEUP 表示模拟放开鼠标中键。

模拟键盘事件

keybd_event(

IN BYTE bVk, //虚据拟键码

IN BYTE bScan, //硬件扫描码

IN DWORD dwFlags, //键盘动作标识

IN ULONG_PTR dwExtraInfo //附加信息

);

//dwFlags可能值

#define KEYEVENTF_EXTENDEDKEY 0x0001

#define KEYEVENTF_KEYUP       0x0002

#define KEYEVENTF_UNICODE     0x0004

#define KEYEVENTF_SCANCODE    0x0008

备注:尽管keybd_event传递一个与OEM相关的硬件扫描码给系统,但应用程序不能用此扫描码。系统在内部将扫描码转换成虚拟键码,并且在传送给

应用程序前清除键码的UP/down位。应用程序可以摸拟PRINTSCREEN键的按下来获得一个屏幕快照,并把它存放到剪切板中。若要做到这一点,则

要将keybd_event的bVk参数置为VK_SNAPSHOT,bScan参数置为0(用以获得全屏快照)或hScan置为1(仅获得活动窗口的快

照)。Windows

CE:WindowsCE支持dwFlags参数附加的标志位。即使用KEYEVENTF_SILENT标志模拟击键,而不产生敲击的声音。

Windows   CE不支持KEYEVENTF_EXTENDEDKEY标志。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: