【发布时间】:2011-08-24 18:24:06
【问题描述】:
我正在做一个项目,需要模拟按键以在不同的应用程序中引起特定行为。
使用正在导入的 keybd_event 函数,一切运行良好(可能有更好的方法,但运行良好)。
现在我想为所有小键盘添加特定的支持。
看起来 e. G。在 http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx 或 System.Windows.Input.Key 命名空间中,我可以轻松找到 Num0..Num9 以及 NumLock 的密钥。但是.. 我找不到 Num/、Num+、NumEnter 等的任何内容。
我写了一个快速的froms应用来捕捉keydown事件,输出事件参数,得到了一些有趣的结果:
e.KeyCode NumLock e.KeyData NumLock e.KeyValue 144 e.Modifiers None
e.KeyCode Divide e.KeyData Divide e.KeyValue 111 e.Modifiers None
e.KeyCode Multiply e.KeyData Multiply e.KeyValue 106 e.Modifiers None
e.KeyCode Subtract e.KeyData Subtract e.KeyValue 109 e.Modifiers None
e.KeyCode Add e.KeyData Add e.KeyValue 107 e.Modifiers None
e.KeyCode NumLock e.KeyData NumLock e.KeyValue 144 e.Modifiers None
e.KeyCode NumLock e.KeyData NumLock e.KeyValue 144 e.Modifiers None
e.KeyCode Divide e.KeyData Divide e.KeyValue 111 e.Modifiers None
e.KeyCode Multiply e.KeyData Multiply e.KeyValue 106 e.Modifiers None
e.KeyCode Subtract e.KeyData Subtract e.KeyValue 109 e.Modifiers None
e.KeyCode Add e.KeyData Add e.KeyValue 107 e.Modifiers None
e.KeyCode Return e.KeyData Return e.KeyValue 13 e.Modifiers None
Num+ 键(等等)似乎是 Windows 调用功能键的键(例如 Num+ 键的 F18)。所以..这很奇怪,但没关系。
但是.. 我无法区分 Enter-Key 和 NumEnter 键。这些对于我的应用程序是不同的,所以我必须为两者发送特定的键码。
这就是我的问题:如何发送普通的回车键以及如何发送 NumEnter 键?
(我不知道这是否有任何区别,我使用的是德语键盘布局。)
感谢任何想法!
【问题讨论】:
-
不是很有帮助,但我可以确认:我们有一个跟踪用户输入的应用程序,现在它为 NumEnter 和 Enter 生成相同的键码,所以我无法区分。
标签: c# .net keyboard automation sendkeys