huidong

首页 | 会员登录 | 关于争取 2022 寒假做出汇东网 Ver3.0.0 !
搜索文章


鼠标

函数:mouse_event();

函数原型:mouse_event(DWORD dwFlag,DWORD dx, DWORD dy, DWORD dwData, ULONG_PTR dwExtraInfo );


//把鼠标移动到坐标为50,130的位置
SetCursorPos(50,130);
//按下鼠标,并释放
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);


  • MOUSEEVENTF_MOVE:表明发生移动。

  • MOUSEEVENTF_LEFTDOWN:表明接按下鼠标左键。

  • MOUSEEVENTF_LEFTUP:表明松开鼠标左键。

  • MOUSEEVENTF_RIGHTDOWN:表明按下鼠标右键。

  • MOUSEEVENTF_RIGHTUP:表明松开鼠标右键。

  • MOUSEEVENTF_MIDDLEDOWN:表明按下鼠标中键。

  • MOUSEEVENTF_MIDDLEUP:表明松开鼠标中键。

  • MOUSEEVENTF_WHEEL:在Windows NT中如果鼠标有一个轮,表明鼠标轮被移动。移动的数量由dwData给出。


原文 https://www.cplusplus.me/1366.html


封装:

// 鼠标点击某一位置
void ClickAt(int x, int y)
{
    SetCursorPos(x, y);
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}


键盘

keybd_event函数模拟WM_KEYUP或WM_KEYDOWN消息。


例子1:模拟按下'A'键

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

 

例子2:模拟按下'ALT+F4'键

keybd_event(18,0,0,0);
keybd_event(115,0,0,0);
keybd_event(115,0,KEYEVENTF_KEYUP,0);
keybd_event(18,0,KEYEVENTF_KEYUP,0);


键值表 https://docs.microsoft.com/zh-cn/windows/win32/inputdev/virtual-key-codes?redirectedfrom=MSDN

原文 https://www.cnblogs.com/shenbing/p/5964675.html





返回首页


Copyright (C) 2018-2024 huidong