控制台界面控制(二):模拟信号

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

模拟鼠标、键盘操作,能让命令行顿然强大,想想,制作批处理版屏幕键盘等都不在话下(已制作过,效果很不错)。虽然这也跟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”的部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值