C++实现鼠标点击和获取鼠标位置(编译环境visualstudio2022)
- 软件开发
- 2026-07-25 03:00:01
1环境说明
2获取鼠标位置的接口
void GetMouseCurPoint()
{
POINT mypoint;
for (int i = 0; i < 100; i++)
{
GetCursorPos(&mypoint);//获取鼠标当前所在位置
printf("% ld, % ld \n", mypoint.x, mypoint.y);
Sleep(1000);
}
}
3操作鼠标左键和右键的接口
void MouseLeftDown()//鼠标左键按下
{
INPUT Input = { 0 };
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
SendInput(1, &Input, sizeof(INPUT));
}
void MouseLeftUp()//鼠标左键放开
{
INPUT Input = { 0 };
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(1, &Input, sizeof(INPUT));
}
void MouseRightDown()//鼠标右键按下
{
INPUT Input = { 0 };
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = MOUSEEVENTF_RIGHTDOWN;
SendInput(1, &Input, sizeof(INPUT));
}
void MouseRightUp()//鼠标右键放开
{
INPUT Input = { 0 };
Input.type = INPUT_MOUSE;
Input.mi.dwFlags = MOUSEEVENTF_RIGHTUP;
SendInput(1, &Input, sizeof(INPUT));
}
4鼠标移动的接口
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);
printf("fScreenWidth %lf , fScreenHeight %lf, fx %lf, fy %lf \n", fScreenWidth, fScreenHeight, fx, fy);
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));
}
5Main函数和头文件
#include <stdint.h>
#include <Windows.h>
#include <stdio.h>
int main()
{
Sleep(1000); //延时函数
GetMouseCurPoint(); //获取鼠标当前所在位置
MouseMove(x, y); //x, y坐标从GetMouseCurPoint()的打印中获取
Sleep(10); //move之后需要延时
MouseLeftDown();
Sleep(1);
MouseLeftUp();
Sleep(100);
return 0;
}
6参考资料和说明
参考链接
http://t.csdnimg /ezeafhttp://t.csdnimg /ezeaf
代码下载链接download.csdn.net/download/u013232419/88808663 download.csdn.net/download/u013232419/88808663
说明代码部分已经全部放到正文中了,上述的资料需要下载积分1分(就当懒得复制的分吧,不是很喜欢动不动一个资料需要40多分,期望更多类似的分享)。
C++实现鼠标点击和获取鼠标位置(编译环境visualstudio2022)由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“C++实现鼠标点击和获取鼠标位置(编译环境visualstudio2022)”