1

SendMessage我想通过或PostMessage在 Visual C++ 中将按键事件发送到另一个应用程序。

F3我知道我可以像使用一样模拟单键SendMessage/PostMessage。但是,我不知道如何发送组合键,例如SHIFT+F3使用SendMessage/PostMessage.

我被困。

4

1 回答 1

2

SendMessage/PostMessage 不适合发送按键。请参阅您无法使用 PostMessage 模拟键盘输入

..即使您设法将输入消息发布到目标窗口的队列中,也不会更新键盘切换状态。当窗口后面的代码调用GetKeyState函数或GetAsyncKeyState函数时,它将看到“真正的”转换状态,而不是您发布的消息生成的假状态。

SendInput函数旨在将输入注入 Windows。如果您使用该功能,那么至少会正确报告换档状态。

如您所见,Raymond 也已经为您提供了解决方案:SendInput改为使用。

于 2013-11-01T13:55:57.187 回答