vbnet获取是否按下某个键(检测CAPS LOCK,Num Lock)

GetKeyState 函数说明:
baike.baidu/link?url=n4jeKJsIc7m779XkoYxGR4yxJDZW0iQihm7gmzXaoa5Hx-zahB6stZOtE1Ysmg7d-xtgKJXa_kS4_1XS2uo5S_
GetKeyState(VK_SHIFT) > 0 没按下
::GetKeyState(VK_SHIFT) < 0被按下
科学发展观的基本内涵是什么
返回值给出了给定虚拟键的状态,状态如下:
matlab若高序位为1,则键处于DOWN状态,否则为UP状态。
若低序位为1,则键被触发。例如CAPS LOCK键,被开时将被触发。若低序位置为0,则键被关闭,且不被触发。触发键在键盘上的指示灯,当键被触发时即亮,键不被触发时即灭。
Imports System.Runtime.InteropServices
''' <summary>
ertl
''' 调用示例:
新伊汽配城
''' Dim capsLock As KeyStateInfo = KeyboardInfo.GetKeyState(Keys.CapsLock)可利霉素片
''' If capsLock.IsToggled Then
'''  MessageBox.Show("Caps Lock is On")
''' End If
''' </summary>
''' <remarks></remarks>
Public Class KeyboardInfo
Private Sub New()
End Sub
<DllImport("user32")>
Private Shared Function GetKeyState(ByVal vKey As Integer) As Short
End Function
Public Shared Function GetKeyState(ByVal key As Keys) As KeyStateInfo
Dim keyState As Short = GetKeyState(CInt(key))
Dim bits() As Byte = BitConverter.GetBytes(keyState)
Dim toggled As Boolean = bits(0) > 0, pressed As Boolean = bits(1) > 0
Return New KeyStateInfo(key, pressed, toggled)
End Function
End Class
Public Structure KeyStateInfo
Private _key As Keys
Private _isPressed, _isToggled As Boolean
Public Sub New(ByVal key As Keys, ByVal ispressed As Boolean, ByVal istoggled As Boolean)
_key = key
_isPressed = ispressed
_isToggled = istoggled
End Sub
Public Shared ReadOnly Property [Default]() As KeyStateInfo
Get
Return New KeyStateInfo(Keys.None, False, False)
End Get
End Property
Public ReadOnly Property Key() As Keys真菌恐惧症
Get
Return _key
End Get
End Property
Public ReadOnly Property IsPressed() As Boolean
Get
Return _isPressed
End Get
End Property
Public ReadOnly Property IsToggled() As Boolean
Get
Return _isToggled
End Get
End Property
End Structure

本文发布于:2024-09-20 17:47:37,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/137509.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:触发   状态   虚拟   给定   指示灯   科学
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议