SendMessage
我想通过或PostMessage
在 Visual C++ 中将按键事件发送到另一个应用程序。
F3我知道我可以像使用一样模拟单键SendMessage/PostMessage
。但是,我不知道如何发送组合键,例如SHIFT+F3使用SendMessage/PostMessage
.
我被困。
SendMessage/PostMessage 不适合发送按键。请参阅您无法使用 PostMessage 模拟键盘输入:
..即使您设法将输入消息发布到目标窗口的队列中,也不会更新键盘切换状态。当窗口后面的代码调用
GetKeyState
函数或GetAsyncKeyState
函数时,它将看到“真正的”转换状态,而不是您发布的消息生成的假状态。该
SendInput
函数旨在将输入注入 Windows。如果您使用该功能,那么至少会正确报告换档状态。
如您所见,Raymond 也已经为您提供了解决方案:SendInput
改为使用。