2023年12月22日发(作者:)

'//VB6.0

'//添加3个按钮:CommandScroll、CommandCapsLock、CommandNumLock

'//以及一个TIMER:Timer1

'//添加如下代码:

Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long)

As Integer

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal

bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA"

(ByVal wCode As Long, ByVal wMapType As Long) As Long

Private Const KEYEVENTF_EXTENDEDKEY = &H1

Private Const KEYEVENTF_KEYUP = &H2

Private Sub SetKeyState(ByVal Key As Long, ByVal State As Boolean)

Call keybd_event(Key, MapVirtualKey(Key, 0),

KEYEVENTF_EXTENDEDKEY Or 0, 0)

Call keybd_event(Key, MapVirtualKey(Key, 0),

KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)

End Sub

Private Property Get CapsLock() As Boolean

CapsLock = GetKeyState(apital) = 1

End Property

Private Property Let CapsLock(ByVal Value As Boolean)

Call SetKeyState(apital, Value)

End Property

Private Property Get NumLock() As Boolean

NumLock = GetKeyState(umlock) = 1

End Property

Private Property Let NumLock(ByVal Value As Boolean)

Call SetKeyState(umlock, Value)

End Property

Private Property Get ScrollLock() As Boolean

ScrollLock = GetKeyState(crollLock) = 1

End Property

Private Property Let ScrollLock(ByVal Value As Boolean)

Call SetKeyState(crollLock, Value)

End Property

Private Sub CommandCapsLock_Click()

CapsLock = Not CapsLock

End Sub

Private Sub CommandNumLock_Click()

NumLock = Not NumLock

End Sub

Private Sub CommandScroll_Click()

ScrollLock = Not ScrollLock

End Sub

Private Sub Timer1_Timer()

= CapsLock

= NumLock

= ScrollLock

End Sub