Advertisement
SadieSocio

AutoIT (Block Input)

Dec 22nd, 2022
2,087
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 1.38 KB | None | 1 0
  1. #include <WinAPI.au3>
  2.  
  3. HotKeySet("{ESC}", "_UnBlock")
  4.  
  5. Global $pStub_KeyProc = DllCallbackRegister("_KeyProc", "int", "int;ptr;ptr")
  6. Global $pStub_MouseProc = DllCallbackRegister ("_Mouse_Handler", "int", "int;ptr;ptr")
  7.  
  8.  
  9.  
  10. Global $hHookKeyboard = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, DllCallbackGetPtr($pStub_KeyProc), _WinAPI_GetModuleHandle(0), 0)
  11. Global $hHookMouse = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, DllCallbackGetPtr($pStub_MouseProc), _WinAPI_GetModuleHandle(0), 0)
  12.  
  13. While 1
  14.     Sleep(100)
  15. WEnd
  16.  
  17. Func _UnBlock()
  18.     DllCallbackFree($pStub_KeyProc)
  19.     DllCallbackFree($pStub_MouseProc)
  20.     _WinAPI_UnhookWindowsHookEx($hHookKeyboard)
  21.     _WinAPI_UnhookWindowsHookEx($hHookMouse)
  22.     MsgBox(0, "UnBlock", "Input unblocked")
  23.     Exit
  24. EndFunc
  25.  
  26. Func _KeyProc($nCode, $wParam, $lParam)
  27.     If $nCode < 0 Then Return _WinAPI_CallNextHookEx($hHookKeyboard, $nCode, $wParam, $lParam)
  28.    
  29.     Local $KBDLLHOOKSTRUCT = DllStructCreate("dword vkCode;dword scanCode;dword flags;dword time;ptr dwExtraInfo", $lParam)
  30.     Local $vkCode = DllStructGetData($KBDLLHOOKSTRUCT, "vkCode")
  31.    
  32.     If $vkCode <> 0x1B Then Return 1
  33.    
  34.     _WinAPI_CallNextHookEx($hHookKeyboard, $nCode, $wParam, $lParam)
  35. EndFunc
  36.  
  37. Func _Mouse_Handler($nCode, $wParam, $lParam)
  38.     If $nCode < 0 Then Return _WinAPI_CallNextHookEx($hHookMouse, $nCode, $wParam, $lParam)
  39.    
  40.     Return 1
  41. EndFunc
Tags: AutoIT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement