|
#1
|
||||
|
||||
снятие хука в длл выглядит примерно так:
Код:
function StopHook: Boolean; export; begin if PHookRec1<>nil then begin UnmapViewOfFile(PHookRec1); //если создавали FileMapping CloseHandle(hMemFile); PHookRec1:=nil; end; if Hooked then Result:=UnhookWindowsHookEx(hKeyHook) else Result:=true; Hooked:=false; end; на счет второго вопроса я сомневаюсь, что сделал правильно, поэтому публиковать не буду. |
#2
|
|||
|
|||
Hook
Добрый вечер.
Есть исходное приложение (Apptype GUI) которое только запускает процедуру хука, которая сидит в длл. Хук отслеживает нажатие левой кнопки мыши и при срабатывании делает скриншот (так называемый скринлоггер). В принципе все работает, но хотелось бы улучшить следующим: 1. Что мн нужно добавить в apptype GUI приложение что бы при ее закрытии следовал вызов функции снятия хука в длл и соответственно освобождение памяти от длл? 2. Желателен код как можно отследить нажатие не одной клавиши (кейлоггер) а комбинацию клавиш (например Alt+Shift+F10)? (это нужно что бы временно отключать скринлоггер). |
#3
|
|||
|
|||
спасибо конечно, но что бы мне остановить хук мне как раз и нужно обработать комбинацию клавиш (иначе как я его буду останавливать).
|
#4
|
||||
|
||||
RegisterHotKey()
...сказал, и загрустил от бесспорной своей правоты |
#5
|
|||
|
|||
Цитата:
|
#6
|
|||
|
|||
Цитата:
Уже обсуждали (не здесь), поищи на форуме, но учти, что любой антивирус твою прогу заметит. |
#7
|
|||
|
|||
Цитата:
Кстати. подскажите, почему у меня на скриншот попадает все, кроме панели эксплорера, которая внизу экрана располагается? Мне она как раз нужна, а ее нет. Последний раз редактировалось pixel, 21.02.2009 в 19:45. |