我正在开发一个需要logging和回放击键的程序。 主进程作为一个服务来运行,所以它需要一个configuration程序来logging击键。
当系统默认的键盘布局是(比如)英语,并且用户的键盘布局是德语时,问题就出现了。 用户在configuration界面input“ü”字符,并进行正确的logging和存储。
现在,用户运行记事本并尝试重新播放按键,这是由服务的子节点完成的。 当转换input传递给sendinput ,我们调用VkKeyScan ,然后告诉我们没有办法在这个键盘上重现那个字符(记住默认的键盘布局是英文的)。
我真正想做的是同步服务的键盘布局和当前的前台应用程序,这样服务可以重现用户可以用键盘input的任何字符。 GetKeyboardLayout只能在当前进程中运行。 这必须在32位和64位上运行,所以消息钩是…不是首选:)。
如何在Ruby on Windows上只写一个0x0A字符到STDOUT?
在C ++string格式中,%12.10lg意味着什么?
尝试从HTML页面打开批处理脚本(或CMD命令)
静态构buildWindows应用程序时出错
file:// <somewhere>和file:/// <somewhere>之间有什么区别?
使用不受支持的Win32 GDI笔模式的问题?
Exe的窗口图标在PyQt4
Azure SDK 2.2安装问题
打开Windows C#WPF
检索前景窗口的键盘布局:
GetKeyboardLayout(GetwindowThreadProcessId(GetForegroundWindow(),NULL))
这听起来像是在录制字符而不是按键。 您可以使用SendMessage发送WM_CHAR消息与记录的字符,而不是生成击键,而不是发送键击时,而不是生成击键?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。