当前位置:   article > 正文

C++实现鼠标点击和获取鼠标位置(编译环境visual studio 2022)_c++鼠标移动点击

c++鼠标移动点击

1环境说明

2获取鼠标位置的接口

  1. void GetMouseCurPoint()
  2. {
  3.     POINT mypoint;
  4.     for (int i = 0; i < 100; i++)
  5.     {
  6.         GetCursorPos(&mypoint);//获取鼠标当前所在位置
  7.         printf("% ld, % ld \n", mypoint.x, mypoint.y);
  8.         Sleep(1000);
  9.     }
  10. }

3操作鼠标左键和右键的接口

  1. void MouseLeftDown()//鼠标左键按下 
  2. {
  3.     INPUT  Input = { 0 };
  4.     Input.type = INPUT_MOUSE;
  5.     Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
  6.     SendInput(1, &Input, sizeof(INPUT));
  7. }
  8. void MouseLeftUp()//鼠标左键放开 
  9. {
  10.     INPUT  Input = { 0 };
  11.     Input.type = INPUT_MOUSE;
  12.     Input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
  13.     SendInput(1, &Input, sizeof(INPUT));
  14. }
  15. void MouseRightDown()//鼠标右键按下 
  16. {
  17.     INPUT  Input = { 0 };
  18.     Input.type = INPUT_MOUSE;
  19.     Input.mi.dwFlags = MOUSEEVENTF_RIGHTDOWN;
  20.     SendInput(1, &Input, sizeof(INPUT));
  21. }
  22. void MouseRightUp()//鼠标右键放开 
  23. {
  24.     INPUT  Input = { 0 };
  25.     Input.type = INPUT_MOUSE;
  26.     Input.mi.dwFlags = MOUSEEVENTF_RIGHTUP;
  27.     SendInput(1, &Input, sizeof(INPUT));
  28. }

4鼠标移动的接口

  1. void MouseMove(int x, int y)//鼠标移动到指定位置 
  2. {
  3.     double fScreenWidth = ::GetSystemMetrics(SM_CXSCREEN) - 1;//获取屏幕分辨率宽度 
  4.     double fScreenHeight = ::GetSystemMetrics(SM_CYSCREEN) - 1;//获取屏幕分辨率高度 
  5.     double fx = x * (65535.0f / fScreenWidth);
  6.     double fy = y * (65535.0f / fScreenHeight);
  7.     printf("fScreenWidth %lf , fScreenHeight %lf, fx %lf, fy %lf \n", fScreenWidth, fScreenHeight, fx, fy);
  8.     INPUT  Input = { 0 };
  9.     Input.type = INPUT_MOUSE;
  10.     Input.mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE;
  11.     Input.mi.dx = fx;
  12.     Input.mi.dy = fy;
  13.     SendInput(1, &Input, sizeof(INPUT));
  14. }

5Main函数和头文件

  1. #include <stdint.h>
  2. #include <Windows.h>
  3. #include <stdio.h>
  4. int main()
  5. {
  6.     Sleep(1000);          //延时函数
  7.     GetMouseCurPoint();   //获取鼠标当前所在位置
  8.     MouseMove(x, y);      //x, y坐标从GetMouseCurPoint()的打印中获取
  9.     Sleep(10);            //move之后需要延时
  10.     MouseLeftDown();
  11.     Sleep(1);
  12.     MouseLeftUp();
  13.     Sleep(100);
  14.     return 0;
  15. }

6参考资料和说明

  • 参考链接

http://t.csdnimg.cn/ezeaficon-default.png?t=N7T8http://t.csdnimg.cn/ezeaf

  • 代码下载链接

https://download.csdn.net/download/u013232419/88808663icon-default.png?t=N7T8https://download.csdn.net/download/u013232419/88808663

  • 说明

        代码部分已经全部放到正文中了,上述的资料需要下载积分1分(就当懒得复制的分吧,不是很喜欢动不动一个资料需要40多分,期望更多类似的分享)。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/91788
推荐阅读
相关标签
  

闽ICP备14008679号