我正在尝试向计算机游戏发送右键,而不会影响我的可见鼠标指针 我不确定游戏是不喜欢它还是我做错了什么。 这是我的代码的简短版本:
WORD tx = 500;
WORD ty = 500;
HWND windowHandle = FindWindow(NULL,TEXT("Game title"));
if (windowHandle != 0) {
SendMessage(windowHandle, WM_RBUTTONDOWN, MK_RBUTTON, MAKELPARAM(tx, ty));
Sleep(50);
SendMessage(windowHandle, WM_RBUTTONUP, MK_RBUTTON, MAKELPARAM(tx, ty));
Sleep(50);
std::cout << "message sent..." << std::endl;
}
我尝试了很多次,并确保游戏窗口位于顶部且处于活动状态等,但游戏不会注册我的点击...(“每次都会打印”发送消息...“) > 我知道我也可以使用SendInput,但首先我要确保使用PostMessage确实无法实现。
答案 0 :(得分:0)
我使用以下方法在Qt / C ++中模拟鼠标右键单击。看看它是否有效:
mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_RIGHTDOWN,nX,nY,0,0); mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_RIGHTUP,nX,nY,0,0);
要使用的库是windows.h和winuser.h