控制台模拟鼠标、键盘操作

控制台模拟鼠标、键盘操作 

模拟鼠标、键盘操作,能让命令行顿然强大,想想,制作批处理版屏幕键盘等都不在话下(已制作过,效果很不错)。虽然这也跟CUI无关。本教程教会你如何让命令行模拟鼠标、键盘的操作。

鼠标的击键操作,需要用到mouse_event这个API函数。

示例代码:

模拟左键单击:

mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

注意到了,其实一次击键是由两部分组成的:按下与释放。所以模拟一次单击要有DOWN及UP两次。

其他键位的属性如下,更改以上代码即可实现:

MOUSEEVENTF_RIGHTDOWN、MOUSEEVENTF_RIGHTUP;
MOUSEEVENTF_MIDDLEDOWN、MOUSEEVENTF_MIDDLEUP;

模拟鼠标移位需要用到SetCursorPos这个API函数。尽管mouse_event也能实现模拟移位的效果,但是个人认为用SetCursorPos可能要简单一点。

示例代码:

将鼠标移位到屏幕(120,100)处:

SetCursorPos(120,100);

模拟键盘击键,可以使用keybd_event这个API函数。这个API函数没有太多需要注意的地方,直接看示例代码:

模拟按下A键:

keybd_event(65,0,0,0);
keybd_event(65,0,KEYEVENTF_KEYUP,0);

可以发现,跟mouse_event一样,也有按下和释放两个部分。65是A的ASCII码(也可称为扫描码),其他键位对应的码值可以查Winuser.h中“Virtual Keys, Standard Set的部分。

你可能感兴趣的:(api,UP)