我正在编写一个小程序,用我的Xbox 360控制器模拟鼠标。我已经成功实现了光标的移动,但是点击有困难。
以下是我的代码片段:
while (msg.message != WM_QUIT) {
if (PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
} else {
...
if (state.Gamepad.wButtons & XINPUT_GAMEPAD_A) {
PostMessage(HWND_BROADCAST, WM_LBUTTONDOWN, 0, MAKEWORD(new_x, new_y));
}
...
}
}
我不是100%确定这是正确的方法,但是当按下 A 按钮时,我正尝试将WM_LBUTTONDOWN
消息发送到所有顶级窗口。但是,当我将鼠标放在一个按钮上并按下 A 时,该按钮会闪烁,就像点击它一样,但没有任何反应。
如果有人能指出我正确的方向或提供另一种方法来做到这一点,我将非常感激!