实际运用,视频讲解python和C++实现模拟键鼠操作实测说明【300英雄】 视频传送门:点我 相关环境操作系统:Win10 企业版 相关说明参考资料:windows API,里面很详细,爱死了 mouse_eventprivate static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo); #include <Windows.h>
1、这里是鼠标左键按下和松开两个事件的组合即一次单击:
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )
2、模拟鼠标右键单击事件:
mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 )
3、两次连续的鼠标左键单击事件 构成一次鼠标双击事件:
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 )
4、使用绝对坐标
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 500, 500, 0, 0 )
需要说明的是,如果没有使用MOUSEEVENTF_ABSOLUTE,函数默认的是相对于鼠标当前位置的点,如果dx,和dy,用0,0表示,这函数认为是当前鼠标所在的点。
5、直接设定绝对坐标并单击
mouse_event(MOUSEEVENTF_LEFTDOWN, X * 65536 / 屏幕宽, Y * 65536 / 屏幕高, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, X * 65536 / 屏幕宽, Y * 65536 / 屏幕高, 0, 0);
其中X,Y分别是你要点击的点的横坐标和纵坐标
ps:求屏幕大小,参考 https://blog.csdn.net/yp18792574062/article/details/88351342
#include <Windows.h>
// 带标题栏和菜单栏
int width = GetSystemMetrics(SM_CXSCREEN);
int height = GetSystemMetrics(SM_CYSCREEN);
keybd_event
#include <Windows.h>
keybd_event(16,0,0,0);//按下Shift键
keybd_event('A',0,0,0);//按下a键
keybd_event('A',0,KEYEVENTF_KEYUP,0);//松开a键
keybd_event(16,0,KEYEVENTF_KEYUP,0);//松开Shift键
实际案例实现效果:来回走动,并按 'q’键。ps:管理员运行
获取鼠标当前位置#include <Windows.h>
#include <iostream>
using namespace std;
int main()
{
// 死循环
while (1)
{
POINT pt = {0,0};
GetCursorPos(&pt);
printf('x=%d,y=%d\n', pt.x,pt.y);
Sleep(3000);
}
//system('pause');
return 0;
}
|
|