c++ - 发送鼠标点击信息

标签 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/

相关文章:

c++ - 一个简单的 boost.spirit 示例中的 error_invalid_expression 编译错误

c++ - 获取只能除以 2,3 和/或 5,但不能除以任何其他质数的数字

c++ - c++中令人困惑的事情

c++ - 开关语句(字符串)继续选择默认值,除非它为零

java - vc++ JNI错误LNK2019 : unresolved external symbol

c++ - 是否可以实现 __super 宏?

c - ICU u_fgetfile 与 VS2012 发布版本中的运行时不兼容

c++ - 从基类成员函数返回派生类的实例

c++ - 虚函数的实现可以放在头文件中吗

c++ - 如何安全地比较两个无符号整数计数器?