我想通过Visual C ++中的SendMessage
或PostMessage
向其他应用程序发送按键事件。
我知道我可以使用SendMessage/PostMessage
模拟 F3 这样的单键。
但是,我不知道如何使用SendMessage/PostMessage
发送像 SHIFT + F3 这样的组合键。
我被卡住了。
答案 0 :(得分:1)
SendMessage / PostMessage不适合发送按键。见You can't simulate keyboard input with PostMessage:
..即使您设法将输入消息发布到目标窗口的队列中,也不会更新键盘移位状态。当窗口后面的代码调用
GetKeyState
函数或GetAsyncKeyState
函数时,它将看到“真实”的移位状态,而不是您发布的消息已生成的虚假状态。
SendInput
函数用于将输入注入Windows。如果您使用该功能,那么至少会正确报告换档状态。
正如您所看到的,Raymond已经为您提供了解决方案:改为使用SendInput
。