Vb.net 虚拟键盘命令
我只是想知道这些键盘命令之间的区别是什么:Vb.net 虚拟键盘命令,vb.net,winapi,keyboard,Vb.net,Winapi,Keyboard,我只是想知道这些键盘命令之间的区别是什么: KEYEVENTF_扩展键和KEYEVENTF_键是 在我看过的每一个地方,它都给了我一个基于整数的描述,而不是什么,但我只想知道它们各自的作用 您已经为问题VB.NET添加了标签,但是这些实际上与VB.NET没有任何关系。它们是在Windows头文件中定义的常量,用于Win32 API函数 至于差异,你不能通过观察它们的价值来判断。单个值并不特别重要,这就是使用命名标识符的原因。重要的是它们在哪里使用,以及这些函数的文档告诉您它们的含义 第一个是KE
KEYEVENTF_扩展键
和KEYEVENTF_键
是
在我看过的每一个地方,它都给了我一个基于整数的描述,而不是什么,但我只想知道它们各自的作用 您已经为问题VB.NET添加了标签,但是这些实际上与VB.NET没有任何关系。它们是在Windows头文件中定义的常量,用于Win32 API函数 至于差异,你不能通过观察它们的价值来判断。单个值并不特别重要,这就是使用命名标识符的原因。重要的是它们在哪里使用,以及这些函数的文档告诉您它们的含义 第一个是KEYEVENTF_EXTENDEDKEY,它与结构一起使用(与函数一起使用),以传递有关合成键盘输入的信息。如果使用此标志,则表示扫描代码应解释为扩展密钥。从技术上讲,这意味着扫描代码前面有一个值为224的前缀字节(十六进制表示法中的&HE0) 第二个标记,
KEYEVENTF\u KEYUP
,是可用于此结构的另一个标记。这意味着按键被释放(向上),而不是被按下(向下)
有可用键盘输入的一般概述。它更详细地解释了什么是虚拟键代码,什么是扩展键等等。您已经标记了问题VB.NET,但这些实际上与VB.NET没有任何关系。它们是在Windows头文件中定义的常量,用于Win32 API函数 至于差异,你不能通过观察它们的价值来判断。单个值并不特别重要,这就是使用命名标识符的原因。重要的是它们在哪里使用,以及这些函数的文档告诉您它们的含义 第一个是KEYEVENTF_EXTENDEDKEY,它与结构一起使用(与函数一起使用),以传递有关合成键盘输入的信息。如果使用此标志,则表示扫描代码应解释为扩展密钥。从技术上讲,这意味着扫描代码前面有一个值为224的前缀字节(十六进制表示法中的&HE0) 第二个标记,
KEYEVENTF\u KEYUP
,是可用于此结构的另一个标记。这意味着按键被释放(向上),而不是被按下(向下)
有可用键盘输入的一般概述。它更详细地解释了什么是虚拟键代码、什么是扩展键等。
KEYEVENTF\u KEYUP
指释放按下的键的事件。例如,按住一个键会触发KEYEVENTF\u KEYDOWN
,释放它会触发KEYEVENTF\u keydup
。但是,我不确定KEYEVENTF_-EXTENDEDKEY
是什么意思KEYEVENTF_-KEYUP
指的是释放按键的事件。例如,按住一个键会触发KEYEVENTF\u KEYDOWN
,释放它会触发KEYEVENTF\u keydup
。但是我不确定KEYEVENTF\u EXTENDEDKEY
做什么要做字母输入,我必须先KEYEVENTF\u KEYDOWN
,然后马上做KEYEVENTF\u keydup
?@bbesas是的,你会调用SendInput
函数两次,一次是使用KEYEVENTF\u KEYDOWN
,第二次是使用KEYVENTF\u keydup
。不过,我还是不知道为什么在VB.NET中需要这个。它已经被SendKeys.Send方法包装好了。因此,要进行字母输入,我必须先执行KEYEVENTF\u KEYDOWN
,然后立即执行KEYVENTF\u keydup
?@bbesase是的,您将调用SendInput
函数两次,一次是使用KEYEVENTF\u KEYDOWN
,第二次是使用KEYVENTF\u keydup
。不过,我还是不知道为什么在VB.NET中需要这个。它已被SendKeys.Send
方法包装。