2

我目前正在尝试在不影响可见鼠标指针的情况下向电脑游戏发送右键。
我不确定是游戏不喜欢它还是我做错了什么。这是我的代码的简短版本:

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 确实是不可能的。

4

1 回答 1

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

于 2013-11-24T13:04:53.887 回答