windows - 有没有办法让 SendInput 与使用 GDK 的应用程序一起工作?

标签 windows winapi keyboard gdk

我有一个应用程序可以使用设置了 UNICODE 标志的 SendInput API 成功地注入(inject)键盘输入。这会导致使用 E7 的 VK 代码 (VK_PACKET) 生成 WM_KEYUPWM_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/

相关文章:

python - 安装Python GTK

windows - LOC 和 %LOC 在 Windows 上的子例程中不起作用

设置中未显示键盘的 Android list

ios - 为什么两个 CGRect 在视觉上不相交?

iphone - 如何检测按下的返回键并使用 UIKeyInput 协议(protocol)对其进行响应?

Windows和系统进程

Windows DHCP 客户端主机名编码

c++ - waitforsingleobject 等待一个已经发出信号的事件

python - Win32api 没有在 python 中使用 GetCursorPos() 给出正确的坐标

c# - Windows 上等效的 UpdateSystemActivity 是什么