Я тут книжку читал толи про ботов, толи про что то ещё. Там есть пример отслеживания откуда идут нажатия клавиатуры или мыши. Писали на AutoIT. Мне захотелось переписать на с++.
Сам с++ я плохо знаю разве что синтаксис. И возникла проблема как импортировать библиотеку которая позволить использовать API windows.
В AutoIT делают так '#include ' в Python тоже знаю. Но не могу понять как она называется или как это сделать в с++.
Скажем вызов функции GetModuleHandle. Как вызвать в С++ ?
Пример кода на AutoIT который хочу переписать на с++
#include <WinAPI.au3>
global const $kLogFile = "debug.log"
global $gHook
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
MsgBox(0, "Alert", "????????? ???-??????!")
endif
return _WinAPI_CallNextHookEx($gHook, $nCode, $wParam, $lParam)
endfunc
func InitKeyHooks($handler)
local $keyHandler = DllCallbackRegister($handler, "long", "int;wparam;lparam")
local $hMod = _WinAPI_GetModuleHandle(0)
$gHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, _
DllCallbackGetPtr($keyHandler), $hMod)
endfunc
InitKeyHooks("_KeyHandler")
while true
Sleep(10)
wend