我只是想知道这些键盘命令的虚拟区别是什么:
KEYEVENTF_EXTENDEDKEY
和KEYEVENTF_KEYUP
是。
我看到它的任何地方只是给我一个基于整数的描述,什么不是,但我只是想知道它们各自的作用。
答案 0 :(得分:4)
你已经标记了VB.NET的问题,但这些实际上与VB.NET没什么关系。它们是Windows头文件中定义的常量,用于Win32 API函数。
就差异而言,通过观察他们的价值观你无法说清楚。各个值并不是特别重要,这就是使用命名标识符的原因。重要的是它们的使用位置以及这些功能的文档告诉您它们的含义。
第一个 KEYEVENTF_EXTENDEDKEY
与KEYBDINPUT
结构(与SendInput
函数一起使用)一起使用,以传递有关合成的信息键盘输入。如果使用此标志,则表示扫描代码应解释为扩展密钥。从技术上讲,这意味着扫描代码前面有一个前缀字节,其值为224(& HE0,以十六进制表示)。
第二个 KEYEVENTF_KEYUP
是另一个可用于此结构的标志。这意味着密钥正在发布(向上),而不是按下(向下)。
可用的键盘输入概述here on MSDN。它更详细地解释了虚拟密钥代码是什么,扩展密钥是什么等等。