加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

模拟鼠标操作的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】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读