Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想模拟键盘点击并用西里尔文输入某些消息。我知道如何模拟键盘事件:
SendKeyboardMessage(handle, WM_KEYDOWN, Convert.ToInt32(key), 0); SendKeyboardMessage(handle, WM_KEYUP, Convert.ToInt32(key), 0);
但是第三个参数是“Keys”类型并且没有西里尔字符。
那么如何使用西里尔字符发送键盘事件?
将消息发送到它本身不是全局的应用程序很重要
也许先尝试将键盘布局更改为西里尔文,然后模拟键盘事件。
我发现了这个代码项目,它展示了如何更改布局。
希望有帮助
相同的功能也适用于 Cyrilic。
你了解KEY和CHARACTER之间的区别吗?键在键盘上,而字符是在屏幕上绘制的。WM_KEYDOWN 和 WM_KEYUP 不发送字符,它们发送密钥。Keys数据类型将键盘作为硬件涵盖 - 无论它们在本地语言中的含义如何,您始终拥有相同的 102 个左右的键。这些键稍后会使用活动代码页转换为字符。这就是为什么您可以对西里尔语使用相同的功能,只需将活动代码页切换为西里尔语并发送正确的键名,就好像它来自使用英语键盘一样。
Keys