模拟鼠标操作的C++实现代码
发布时间:2020-12-16 07:45:29 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 ? 关于鼠标模拟程序应用不算少见,在游戏外挂或者一些操作频繁位置确定的程序上应用往往有奇效。 void MouseMove(int x,int y)//鼠标移动到指定位置 {
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考
? 关于鼠标模拟程序应用不算少见,在游戏外挂或者一些操作频繁位置确定的程序上应用往往有奇效。
void MouseMove(int x,int y)//鼠标移动到指定位置 { double fScreenWidth = ::GetSystemMetrics(SM_CXSCREEN) - 1;//获取屏幕分辨率宽度 double fScreenHeight = ::GetSystemMetrics(SM_CYSCREEN) - 1;//获取屏幕分辨率高度 double fx = x*(65535.0f / fScreenWidth); double fy = y*(65535.0f / fScreenHeight); INPUT Input = { 0 }; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE; Input.mi.dx = fx; Input.mi.dy = fy; SendInput(1,&Input,sizeof(INPUT)); } void MouseLeftDown()//鼠标左键按下 { INPUT Input = { 0 }; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN; SendInput(1,sizeof(INPUT)); } void MouseLeftUp()//鼠标左键放开 { INPUT Input = { 0 }; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_LEFTUP; SendInput(1,sizeof(INPUT)); } void MouseRightDown()//鼠标右键按下 { INPUT Input = { 0 }; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_RIGHTDOWN; SendInput(1,sizeof(INPUT)); } void MouseRightUp()//鼠标右键放开 { INPUT Input = { 0 }; Input.type = INPUT_MOUSE; Input.mi.dwFlags = MOUSEEVENTF_RIGHTUP; SendInput(1,sizeof(INPUT)); } ? 各动作函数配合完成鼠标各种操作 //模拟鼠标拖动框选 ShowWindow(SW_SHOWMINIMIZED);//窗体最小化 POINT mypoint; GetCursorPos(&mypoint);//获取鼠标当前所在位置 MouseMove(800,1000);//鼠标移动到指定位置 MouseLeftDown();//鼠标左键点下 MouseMove(10,10);//鼠标拖动到指定位置 Sleep(10);//这里需要等待一下,不然拖动会没有效果 MouseLeftUp();//鼠标释放 MouseMove(mypoint.x,mypoint.y);//将鼠标放回所在的位置 //模拟鼠标右键按下并释放 ShowWindow(SW_SHOWMINIMIZED);//窗体最小化 MouseRightDown(); Sleep(10); MouseRightUp(); 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |