我只是想知道这些虚拟键盘命令之间的区别是什么:
KEYEVENTF_EXTENDEDKEY
并且KEYEVENTF_KEYUP
是。
在我看过的所有地方,它都只是根据整数给我一个描述,而不是什么,但我只是想知道它们每个人的作用。
您已标记问题 VB.NET,但这些实际上与 VB.NET 毫无关系。它们是在 Windows 头文件中定义的常量,用于 Win32 API 函数。
至于差异,您无法通过查看它们的值来判断。各个值并不是特别重要,这就是使用命名标识符的原因。重要的是它们的使用位置以及这些函数的文档告诉您它们的含义。
第一个,KEYEVENTF_EXTENDEDKEY
,与KEYBDINPUT
结构(与例如SendInput
函数一起使用)一起使用,以传递有关合成键盘输入的信息。如果使用此标志,则意味着扫描码应被解释为扩展密钥。从技术上讲,这意味着扫描码前面有一个值为 224 的前缀字节(十六进制表示法中的 &HE0)。
第二个,KEYEVENTF_KEYUP
,是另一个可用于此结构的标志。这意味着该键正在释放(向上),而不是按下(向下)。
MSDN 上提供了键盘输入的一般概述。它更详细地解释了虚拟键码是什么,扩展键是什么等。