43 lines
1.4 KiB
AutoIt
43 lines
1.4 KiB
AutoIt
#include <WinAPI.au3>
|
|
#include <WindowsConstants.au3>
|
|
#include <StructureConstants.au3>
|
|
|
|
HotKeySet("{Pause}", "_Exit")
|
|
|
|
Global Const $VK_TAB = 0x09
|
|
|
|
$hHookProc = DllCallbackRegister("_KeyboardProc", "long", "int;wparam;lparam")
|
|
|
|
$hHookKeyboard = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, DllCallbackGetPtr($hHookProc), _WinAPI_GetModuleHandle(0), 0)
|
|
|
|
While 1
|
|
Sleep(100)
|
|
WEnd
|
|
|
|
Func _KeyboardProc($nCode, $wParam, $lParam)
|
|
If $nCode < 0 Then Return _WinAPI_CallNextHookEx($hHookKeyboard, $nCode, $wParam, $lParam)
|
|
|
|
Switch $wParam
|
|
Case $WM_KEYDOWN, $WM_SYSKEYDOWN, $WM_KEYUP, $WM_SYSKEYUP
|
|
Local $tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $lParam)
|
|
Local $vKode = DllStructGetData($tKEYHOOKS, "vkCode")
|
|
Local $iFlags = DllStructGetData($tKEYHOOKS, "flags")
|
|
|
|
Switch $vKode
|
|
Case $VK_TAB
|
|
If BitAND($iFlags, $LLKHF_ALTDOWN) Then
|
|
Return -1
|
|
Else
|
|
Return _WinAPI_CallNextHookEx($hHookKeyboard, $nCode, $wParam, $lParam)
|
|
EndIf
|
|
EndSwitch
|
|
EndSwitch
|
|
|
|
Return _WinAPI_CallNextHookEx($hHookKeyboard, $nCode, $wParam, $lParam)
|
|
EndFunc ;==>_KeyboardProc
|
|
|
|
Func _Exit()
|
|
DllCallbackFree($hHookProc)
|
|
_WinAPI_UnhookWindowsHookEx($hHookKeyboard)
|
|
Exit
|
|
EndFunc |