为了账号安全,请及时绑定邮箱和手机立即绑定

如何在程序中模拟鼠标单击事件?

如何在程序中模拟鼠标单击事件?

慕森王 2019-04-03 11:07:51
如何在程序中模拟鼠标单击事件?
查看完整描述

4 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

函数原型:
VOID keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo );
4个参数都是输入参数。
bVk:键名,例如: VK_NUMPAD7,VK_BACK, VK_TAB,VK_SHIFT,VK_F1,。。。
keybd_event(VK_MENU,0xb8,0 , 0); -- 按下Alt 键
keybd_event(VK_MENU,0xb8,KEYEVENTF_KEYUP,0); -- 放开 Alt 键 (复位,弹上来)
===
下面程序模拟按 notepad 编辑器。等于C语言 system("notepad"); 弹出 记事本。
void simu_notepad()
{
keybd_event(VkKeyScan('N'),1,0,0);
keybd_event(VkKeyScan('N'),1,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('O'),0x98,0,0); keybd_event(VkKeyScan('O'),0x98,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('T'),0x94,0,0); keybd_event(VkKeyScan('T'),0x94,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('E'),0x92,0,0); keybd_event(VkKeyScan('E'),0x92,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('P'),0x99,0,0); keybd_event(VkKeyScan('P'),0x99,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('A'),0x9E,0,0); keybd_event(VkKeyScan('A'),0x9E,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('D'),0xA0,0,0); keybd_event(VkKeyScan('D'),0xA0,KEYEVENTF_KEYUP,0);
keybd_event(VK_RETURN,1,0,0);
keybd_event(VK_RETURN,1,KEYEVENTF_KEYUP,0);
}



查看完整回答
反对 回复 2019-04-10
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

调用格式: 〈无返回值〉 模拟鼠标点击 (整数型 X坐标,整数型 Y坐标,[整数型 点击类型]) - 应用接口支持库->系统处理
英文名称:SimulateMouse
模拟鼠标的点击。本命令为初级命令。
参数<1>的名称为“X坐标”,类型为“整数型(int)”。
参数<2>的名称为“Y坐标”,类型为“整数型(int)”。
参数<3>的名称为“点击类型”,类型为“整数型(int)”,可以被省略。模拟鼠标点击的类型,可以为以下常量值之一:0、#接口常量.左键单击;
1、#接口常量.左键双击;
2、#接口常量.右键单击;
3、#接口常量.右键双击。



查看完整回答
反对 回复 2019-04-10
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

::mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, GetMessageExtraInfo());
::mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, GetMessageExtraInfo());
就用这个函数,
你问如何在后台起作用?你可以写一个计时器后者开一个线程,那样就可以一直不断的执行。

查看完整回答
反对 回复 2019-04-10
  • 4 回答
  • 0 关注
  • 1105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信