AndreWhite
Новичок
- Сообщения
- 1
- Репутация
- 0
Доброго времени суток!
Очень нужна помощь профессионалов, столкнулся с проблемой, которую сам не могу решить.
https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-msllhookstruct
как обойти установку этого флага?
См. код ниже :
Очень нужна помощь профессионалов, столкнулся с проблемой, которую сам не могу решить.
https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-msllhookstruct
LLMHF_INJECTED0x00000001 | Test the event-injected (from any process) flag. |
См. код ниже :
Код:
; Script Start - Add your code below here
#include <WinAPI.au3>
#include <AutoItConstants.au3>
global const $kLogFile = @ScriptDir&"debug.log"
global $gHook
global $gHookMouse
Global $keyHandler
Global $MouseHandler
func LogWrite($data)
FileWrite($kLogFile, $data & chr(10))
endfunc
func _KeyHandler($nCode, $wParam, $lParam)
if $nCode < 0 then
return _WinAPI_CallNextHookEx($gHook, $nCode, $wParam, $lParam)
endIf
local $keyHooks = DllStructCreate($tagKBDLLHOOKSTRUCT, $lParam)
LogWrite("_KeyHandler() - keyccode = " & DllStructGetData($keyHooks, "vkCode"));
local $flags = DllStructGetData($keyHooks, "flags")
if $flags = $LLKHF_INJECTED then
ToolTip("БОТ !!! Клацание по клаве", 0, 0, "Следим за клавой и мышью", $TIP_WARNINGICON, $TIP_FORCEVISIBLE)
Else
ToolTip("Клацание по клаве", 0, 0, "Следим за клавой и мышью", $TIP_NOICON , $TIP_FORCEVISIBLE)
endif
return _WinAPI_CallNextHookEx($gHook, $nCode, $wParam, $lParam)
endfunc
func _MouseHandler($nCode, $wParam, $lParam)
if $nCode < 0 then
return _WinAPI_CallNextHookEx($gHookMouse, $nCode, $wParam, $lParam)
endIf
local $MouseHooks = DllStructCreate("LONG ; LONG ; DWORD; DWORD", $lParam)
LogWrite("_MouseHandler() - MouseCode = " & DllStructGetData($lParam, "flags"));
if DllStructGetData($MouseHooks, 4) <> 0 then ; $flags = $LLMHF_LOWER_IL_INJECTED
ToolTip("БОТ !!! Движение мыши", 0, 0, "Следим за клавой и мышью", $TIP_WARNINGICON, $TIP_FORCEVISIBLE)
Else
ToolTip("Движение мыши", 0, 0, "Следим за клавой и мышью", $TIP_NOICON , $TIP_FORCEVISIBLE)
endif
return _WinAPI_CallNextHookEx($gHookMouse, $nCode, $wParam, $lParam)
endfunc
func InitKeyHooks($handler)
$keyHandler = DllCallbackRegister($handler, "long", _
"int;wparam;lparam")
local $hMod = _WinAPI_GetModuleHandle(0)
$gHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, _
DllCallbackGetPtr($keyHandler), $hMod)
endfunc
func InitMouseHooks($handler)
$MouseHandler = DllCallbackRegister($handler, "long", _
"int;wparam;lparam")
local $hMod = _WinAPI_GetModuleHandle(0)
$gHookMouse = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, _
DllCallbackGetPtr($MouseHandler), $hMod)
endfunc
HotKeySet("{Esc}", "close")
InitKeyHooks("_KeyHandler")
InitMouseHooks("_MouseHandler")
while true
Sleep(10)
wend
Func close()
_WinAPI_UnhookWindowsHookEx($gHook)
DllCallbackFree($keyHandler)
_WinAPI_UnhookWindowsHookEx($gHookMouse)
DllCallbackFree($MouseHandler)
MsgBox(64, "", "EXIT")
Exit
EndFunc
Сообщение автоматически объединено:
Последнее редактирование: