Hagamoslo de esta manera, agreguen un timer con un intervalo de 10000 mls.. para que podamos reactivar nuestro teclado y no tengamos inconvenientes:
En un form
Private Sub Form_Load()
IdKeyBoard = SetWindowsHookEx(WH_KEYBOARD_LL, _
AddressOf WinProcKeyBoard, _
App.hInstance, 0)
End Sub
Private Sub Timer1_Timer()
If IdKeyBoard <> 0 Then UnhookWindowsHookEx IdKeyBoard
Timer1.Enabled = False
End Sub
En un modulo
Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" ( _
ByVal idHook As Long, _
ByVal lpfn As Long, _
ByVal hmod As Long, _
ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public Const WH_KEYBOARD_LL = 13
Public IdKeyBoard As Long
Public Function WinProcKeyBoard(ByVal nCode As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
WinProcKeyBoard = -1
End Function