<分区>
我们如何在不移动鼠标的情况下在某个位置产生鼠标点击事件(我的意思是让计算机认为用鼠标点击了一个位置)
标签 c++ visual-c++
<分区>
我们如何在不移动鼠标的情况下在某个位置产生鼠标点击事件(我的意思是让计算机认为用鼠标点击了一个位置)
最佳答案
Windows API 中的SendInput
函数将帮助您入门。查看以下链接以了解方法的定义、输入参数和返回值:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310(v=vs.85).aspx
您可以点击页面中的链接以了解有关函数中使用的结构和数据类型的更多信息。
更新:
你可以从这样的事情开始
#include<Windows.h>
int main()
{
INPUT input;
input.type=INPUT_MOUSE;
input.mi.dx=0;
input.mi.dy=0;
input.mi.dwFlags=(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE|MOUSEEVENTF_RIGHTDOWN|MOUSEEVENTF_RIGHTUP);
input.mi.mouseData=0;
input.mi.dwExtraInfo=NULL;
input.mi.time=0;
SendInput(1,&input,sizeof(INPUT));
return 0;
}
这会自动将您的鼠标移动到屏幕的左上角并单击鼠标右键。现在,如果您打算在不移动鼠标的情况下点击屏幕上的某处,我认为使用 SendInput() 是不可能的。您无需担心移动鼠标,因为您的程序会自行完成。这就是“MOUSEEVENTF_MOVE”标志告诉程序要做的事情。如果您不使用该标志,则点击将发生在您鼠标的当前位置。
关于c++ - 发送鼠标点击信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12363215/