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

Вниз

Ошибка с Hook ом ...   Найти похожие ветки 

 
Axis_of_Evil ©   (2003-05-29 09:23) [0]

Ставим ловушку wh_CallWndProc ...

function WndProcHook(Code: LongInt; wP: Word; Lp: LongInt): LongInt; stdcall;
var
Msg: ^CWPStruct;
begin
if (Code >= 0) then
begin
Msg := @Lp;
MainForm.OutList.Items.Add("!")
end;
Result := CallNextHookEx(TheHook, Code, wP, Lp);
end;


procedure TMainForm.FormCreate(Sender: TObject);
begin
TheHook := SetWindowsHookEx(wh_CallWndProc, @WndProcHook, 0, GetCurrentThreadID);
if TheHook = 0 then
ShowMessage("Couldn""t Hook");
end;


Вылетает с криками
... EOSError with message "System Error. Code: 1411
Class doesn"t exist" ...

Где я ошибся?


 
Axis_of_Evil ©   (2003-05-29 09:33) [1]

Msg := @Lp;
Вот это я сказанул ...


 
Axis_of_Evil ©   (2003-05-29 09:34) [2]

Msg := Pointer(Lp);
Тоже не работает ...


 
Игорь Шевченко ©   (2003-05-29 10:05) [3]

Ошибка в рекурсии, IMHO.
После фразы MainForm.OutList.Items.Add("!")
снова вызывается оконная процедура и так далее, со всеми остановками. Отладчик поможет :)



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
3-100579
Bless
2003-07-08 09:51
2003.07.31
Что дает SET NOCOUNT ON?


3-100618
АТ
2003-07-10 04:35
2003.07.31
Криво работает SQL- запрос :-(


14-100985
LiLa Ananda
2003-07-16 08:29
2003.07.31
Делитесь ли вы проблемами?


3-100592
jk
2003-07-08 18:28
2003.07.31
Как прервать перетаскивание (Drag&Drop)


7-100997
Intell
2003-04-25 07:15
2003.07.31
Как отследить местоположение чужого приложения?