1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
Public hHook As Long
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 Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Const WH_KEYBOARD = 2
Sub BeginHK()
i = GetCurrentThreadId
hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf HookProc, 0, i)
End Sub
Public Function HookProc(ByVal code As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If code < 0 Then
HookProc = CallNextHookEx(hHook, code, wParam, lParam)
Else
Select Case HookProc
Case Is > 0
'-------------------------------------------------------
If Len(ActiveCell) = 2 Then ActiveCell.Offset(1).Select
'-------------------------------------------------------
' HookProc = 1
End Select
End If
End Function
Sub EndHK()
'Stop Hook
UnhookWindowsHookEx hHook
End Sub |
Partager