我有一个应用程序可以使用设置了 UNICODE 标志的 SendInput
API 成功地注入(inject)键盘输入。这会导致使用 E7 的 VK 代码 (VK_PACKET
) 生成 WM_KEYUP
和 WM_KEYDOWN
消息,该消息会被适本地转换为正确的 WM_CHAR 消息。这适用于我尝试过的所有应用程序,除了使用 GDK 的 Pidgin。 GDK 似乎只查找 WM_KEYUP
消息。由于此处生成的那些实际上没有任何输入字符的指示(只有 WM_CHAR
有),因此输入被忽略。有什么办法可以解决这个问题。如果我在没有 UNICODE 标志的情况下使用 SendInput,我就不太走运。
最佳答案
当我遇到类似问题时,我使用剪贴板作为解决方法。更好的方法是使用 WM_CHAR
,如果我找到一种使用 WM_CHAR
发送 Unicode 字符的方法,我会更新我的答案。由于 GTK+ 是开源的,您可以为它做出贡献并帮助他们(我是 C 的初学者)。
关于windows - 有没有办法让 SendInput 与使用 GDK 的应用程序一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1029557/