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 Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Sub Command1_Click() Text1.SetFocus keybd_event &H60, 0, 0, 0 End Sub Private Sub Command2_Click() keybd_event &H60, 0, 2, 0 End Sub
Const VK_CAPITAL = &H14 'CapsLock Const VK_NUMLOCK = &H90 'NumLock Const VK_SCROLL = &H91 'ScrollLock Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type Private Declare Function GetKeyboardState Lib "user32" ( _ kbArray As KeyboardBytes) As Long Private Declare Function SetKeyboardState Lib "user32" ( _ kbArray As KeyboardBytes) As Long Dim kbArray As KeyboardBytes, kbOld As KeyboardBytes Private Sub Active(vkKey As Long, Actif As Byte) GetKeyboardState kbArray kbArray.kbByte(vkKey) = Actif SetKeyboardState kbArray End Sub Private Sub Form_Load() GetKeyboardState kbOld End Sub Private Sub Form_Unload(Cancel As Integer) SetKeyboardState kbOld End Sub Private Sub Command1_Click() Text1.SetFocus Active 65, 1 End Sub Private Sub Command2_Click() Active 65, 0 End Sub