0

我想模拟键盘点击并用西里尔文输入某些消息。我知道如何模拟键盘事件:

SendKeyboardMessage(handle, WM_KEYDOWN, Convert.ToInt32(key), 0);
SendKeyboardMessage(handle, WM_KEYUP, Convert.ToInt32(key), 0);

但是第三个参数是“Keys”类型并且没有西里尔字符。

那么如何使用西里尔字符发送键盘事件?

将消息发送到它本身不是全局的应用程序很重要

4

2 回答 2

1

也许先尝试将键盘布局更改为西里尔文,然后模拟键盘事件。

我发现了这个代码项目,它展示了如何更改布局。

希望有帮助

于 2011-06-17T19:49:23.533 回答
0

相同的功能也适用于 Cyrilic。

你了解KEY和CHARACTER之间的区别吗?键在键盘上,而字符是在屏幕上绘制的。WM_KEYDOWN 和 WM_KEYUP 不发送字符,它们发送密钥。Keys数据类型将键盘作为硬件涵盖 - 无论它们在本地语言中的含义如何,您始终拥有相同的 102 个左右的键。这些键稍后会使用活动代码页转换为字符。这就是为什么您可以对西里尔语使用相同的功能,只需将活动代码页切换为西里尔语并发送正确的键名,就好像它来自使用英语键盘一样。

于 2011-06-17T19:55:28.090 回答