vb.net检测键盘按键,vbs检测按键

vb.net 怎么知道按下了多个按键

用API  GetKeyboardState ,判断所有的键里哪些被按下了。

成都网站建设哪家好,找创新互联建站!专注于网页设计、成都网站建设、微信开发、小程序开发、集团企业网站设计等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:阳光房等众多领域,积累了大量丰富的经验,同时也获得了客户的一致认可!

下面的是判断键盘灯的状态

Public Class NativeMethods

Private Shared keyState() As Byte

DllImport("user32.dll") _

Private Shared Function GetKeyboardState(ByVal keyState() As Byte) As Boolean

End Function

Private Shared Sub Update()

keyState = New Byte(256) {}

Dim result As Boolean = GetKeyboardState(keyState)

' Check for error:

If result = False Then

Debug.WriteLine("GetKeyBoardState error: "  Marshal.GetLastWin32Error)

Throw New Exception("GetKeyBoardState error: "  Marshal.GetLastWin32Error)

End If

End Sub

Public Enum LightState

Off

[On]

End Enum

' Example - the keyboard lights...

Public Shared ReadOnly Property CapsLockState() As LightState

Get

Update()

Dim isOn As Boolean = (keyState(Keys.CapsLock) = 1)

Return IIf(isOn, LightState.On, LightState.Off)

End Get

End Property

Public Shared ReadOnly Property NumLockState() As LightState

Get

Update()

Dim isOn As Boolean = (keyState(Keys.NumLock) = 1)

Return IIf(isOn, LightState.On, LightState.Off)

End Get

End Property

Public Shared ReadOnly Property ScrollLockState() As LightState

Get

Update()

Dim isOn As Boolean = (keyState(Keys.Scroll) = 1)

Return IIf(isOn, LightState.On, LightState.Off)

End Get

End Property

End Class

VB键盘判断按键

如果是在自己的程序中,可以利用自身的按键事件,如果是全局键盘,那就要用到键盘hook技术了,比较复杂。

Private Sub Form_Load()

Label1.Caption = ""

Text1 = ""

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then '回车键

Label1.Caption = 1

ElseIf KeyAscii = 8 Then '退格键

Label1.Caption = 2

Else '其他按键

Label1.Caption = 3

End If

Me.Cls

Print KeyAscii

End Sub

vb.net中如何执行键盘事件?

执行键盘事件方法如下:

第一步,点击VS工具。

第二步,打开后,新建一个Windows窗体应用程序。

第三步,请看右下方Form的属性栏。

第四步,双击KeyDown。

第五步,输入提示按键代码,如图所示。

第六步,再次输入代码,设置属性KeyPreview为true。

第七步,运行程序,按下举例F5,则会弹出提示,表明已经成功获。

利用VB.NET怎样使窗体在没有焦点时也能检测键盘事件?

窗体内检测按键

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Me.KeyPreview = True '注册窗体的键盘事件

End Sub

在TextBox1中显示按键代码

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown

TextBox1.Text = Str(e.KeyCode) + vbCrLf

End Sub

窗体没有焦点,用窗体监测键盘输入缓冲区可以解决,但这似乎可以用于监测用户输入内容,不要用于非法目的呀!所以就是知道也不会告诉你的。

VB如何判断是否按下键盘上某个键

把判断代码放到KeyDown事件中,KeyCode是这个事件的参数,在别的过程里无效。

另外,要注意按键的接收对象,焦点在按钮则需要在按钮的KeyDown事件,或者设置窗体的KeyPreview=True,这样窗体总是能够接收到按键。


分享文章:vb.net检测键盘按键,vbs检测按键
网站地址:http://pwwzsj.com/article/hohpje.html