我正在尝试向计算机游戏发送右键单击,而不会影响我的可见鼠标指针。 我不确定游戏是不喜欢它还是我做错了什么。这是我的代码的简短版本:
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确实无法实现。
我使用以下方法在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