Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Ошибка в "клавиатурном шпионе"   Найти похожие ветки 

 
Серёга   (2004-03-10 18:09) [0]

Народ помогите! Скачал с этого "сайта клавиатурного шпиона", а при компиляции dll Дельфи выдаёт ошибку: "[Error] HookDLL.dpr(68): Not enough actual parameters" Вод код библиотеки: (в выделенной строке происходит ошибка) <br>
Library HookDLL;<br>

Uses<br>
 Windows, Messages, SysUtils;<br>

Const<br>
 GlobMapID = "Global Keyboard Hook Demo {917C91AA-88D5-4134-BB91-15161728594D}";<br>

Type<br>
 PShareInf = ^TShareInf;<br>
 TShareInf = Record<br>
               AppWndHandle: HWND;<br>
               OldHookHandle: HHOOK;<br>
               hm:THandle;<br>
             End;<br>

Var<br>
 MapHandle: THandle = 0;<br>
 ShareInf: PShareInf = nil;<br>
 ptr:PByteArray;<br>

Procedure DLLEntryPoint(dwReason: DWORD); stdcall;<br>
Begin<br>
 Case dwReason Of<br>
   DLL_PROCESS_ATTACH:<br>
     Begin<br>
       MapHandle:=CreateFileMapping(INVALID_HANDLE_VALUE, nil, PAGE_READWRITE, 0, SizeOf(TShareInf), GlobMapID);
       ShareInf:=MapViewOfFile(MapHandle, FILE_MAP_ALL_ACCESS, 0, 0, SizeOf(TShareInf));
     End;<br>
   DLL_PROCESS_DETACH:<br>
     Begin<br>
       UnMapViewOfFile(ShareInf);<br>
       CloseHandle(MapHandle);<br>
     End<br>
 End;<br>
End;<br>

Function KeyboardHook(Code: Integer; ParamW: WPARAM; ParamL: LPARAM): LRESULT;stdcall;<br>
Begin<br>
 If Code IN [HC_ACTION, HC_NOREMOVE] Then<br>
   Begin<br>
     SendMessage(ShareInf^.AppWndHandle, WM_USER, ParamW, Code);<br>
   End;<br>
 Result := CallNextHookEx(ShareInf^.OldHookHandle, Code, ParamW, ParamL)<br>
End;<br>

Function SetKeyboardHook(Wnd: HWND): BOOL; stdcall;<br>
Begin<br>
 If ShareInf<>Nil Then<br>
   Begin<br>
     ShareInf^.AppWndHandle:=Wnd;<br>
     ShareInf^.OldHookHandle:=SetWindowsHookEx(WH_KEYBOARD, @KeyboardHook, HInstance, 0);<br>
     Result:=ShareInf^.OldHookHandle<>0;<br>
   End<br>
 Else Result:=False<br>
End;<br>

Function RemoveKeyboardHook: BOOL; stdcall;<br>
Begin
 Result := UnhookWindowsHookEx(ShareInf^.OldHookHandle);<br>
 CloseHandle(ShareInf^.hm);<br>
End;

Exports
 SetKeyboardHook, RemoveKeyboardHook;<br>

BEGIN<br>
 If DLLProc = Nil Then DLLProc := @DLLEntryPoint;
 DLLEntryPoint(DLL_PROCESS_ATTACH);<br>
END.<br>


 
Алхимик ©   (2004-03-10 20:18) [1]

"[Error] HookDLL.dpr(68): Not enough actual parameters"
Смотрим на
Procedure DLLEntryPoint(dwReason: DWORD); stdcall;


 
Юрий Зотов ©   (2004-03-10 20:33) [2]

Ба-а, какой знакомый код. Лихо его хацкеры-кряцкеры под свои черные замыслы приспособили. Правда, грязи немножко добавили... так что теперь и не знаю, остался ли он рабочим..

Ответ, собственно говоря, очевиден. Но, увы, на вопросы по всяким там "шпионам" я не отвечаю. Могу только подсказать - в D7 определение DLLProc по сравнению с прежним немного изменилось. Нужно добавить всего два символа - и ошибка исчезнет.


 
Серёга   (2004-03-11 20:38) [3]


> Ба-а, какой знакомый код. Лихо его хацкеры-кряцкеры под
> свои черные замыслы приспособили. Правда, грязи немножко
> добавили... так что теперь и не знаю, остался ли он рабочим..
>
> Ответ, собственно говоря, очевиден. Но, увы, на вопросы
> по всяким там "шпионам" я не отвечаю. Могу только подсказать
> - в D7 определение DLLProc по сравнению с прежним немного
> изменилось. Нужно добавить всего два символа - и ошибка
> исчезнет.

А кто Вам сказал, что я собираюсь писать "шпиона"? Я хотел написать трейнер для компьютерной игры, а в трейнерах как раз используется метод ловли клавиш, когда приложение не активно.


 
ssk   (2004-03-11 20:42) [4]

>Юрий Зотов ©  (10.03.04 20:33) [2]
>Ба-а, какой знакомый код.


кажется, я знаю, почему ;-)


 
Алхимик ©   (2004-03-11 22:23) [5]


> А кто Вам сказал, что я собираюсь писать "шпиона"?

Вы. В Subj-е.


 
Андрей__   (2004-03-12 16:26) [6]


> > А кто Вам сказал, что я собираюсь писать "шпиона"?
>
> Вы. В Subj-е.

Я сказал что ошибка в "клавиатурном шпионе", написанным неизвестно кем, но не писал, что собираюсь использовать этот исходник как "клавиатурного шпиона".



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
1-1079078065
AleKo
2004-03-12 10:54
2004.04.04
Как назначить процедуру обработки события.


3-1078494594
Nous Mellon
2004-03-05 16:49
2004.04.04
Очистка набора данных


1-1079594675
Billy
2004-03-18 10:24
2004.04.04
Как узнать существует ли данная форма???


14-1078687616
Proz
2004-03-07 22:26
2004.04.04
Тупая ошибка


14-1078425073
Andryk
2004-03-04 21:31
2004.04.04
А вот есть вопросец. По поводу рекламы на поисковиках