Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Снять Hook. Критические ошибки (((( [D7, WinXP]


312kbps ©   (2006-10-30 17:58:00) 

При выполнении
UnhookWindowsHookEx(hHookHandle);
куча критических ошибок, падает сама делфя + эксплоер валится (((

В чем проблема, как правильно снять ловушку ?


312kbps   (2006-10-31 09:53:00) [1]

Юрий Зотов, спасибо огромное !!!

Юрий, если вас не затруднит, возможно ли с вами проконсультироваться по другим вопросом ?
Напишите мне на мыло, если возможно. Спасибо !


Юрий Зотов   (2006-10-31 00:55:00) [2]

Включаю телепатор...

> 312kbps   (30.10.06 18:06) [2]

Вот эту строку:
 var hHookHandle: hHook;
замените на эту
 var hHookHandle: hHook = 0;
а вот эту строку:
 hHookHandle := 0;
выбросьте совсем.

И сдается моему телепатору, что валиться перестанет.

Правда, работать толком все равно не будет. Поскольку хук поставлен неверно. Глобальные хуки требуют несколько иного подхода, но это уже второй вопрос.


Gero   (2006-10-30 19:18:00) [3]

> [5] 312Kbps   (30.10.06 19:17)

Прочитай посты для начала.


312Kbps   (2006-10-30 19:17:00) [4]

подскажите как правильно сделать !


Leonid Troyanovsky   (2006-10-30 19:00:00) [5]


> 312kbps   (30.10.06 18:06) [2]


У тебя, по-крайней мере, 3 ошибки:
1 - в .....
2 - в StartEndHook.
3(4) - неверные места ее вызовов.

--
Regards, LVT.


Gero   (2006-10-30 18:19:00) [6]

> [2] 312kbps   (30.10.06 18:06)

Показывай где устанавливаешь/снимаешь.


312kbps   (2006-10-30 18:06:00) [7]

var   hHookHandle      : hHook;
......
hHookHandle := 0;

function Hooking(Code:Integer; wParam: WPARAM; lParam: LPARAM):LongInt;stdcall;
begin
.....
end;

procedure StartEndHook
begin
 if hHookHandle=0 then
   hHookHandle:= SetWindowsHookEx(WH_MOUSE,@Hooking,hInstance,0)
 else
 begin
   UnhookWindowsHookEx(hHookHandle);
   hHookHandle := 0;
 end;
end;


Leonid Troyanovsky   (2006-10-30 18:02:00) [8]


> 312kbps   (30.10.06 17:58)  

> В чем проблема, как правильно снять ловушку ?


Правильно снимаются только правильно поставильные,
при условии, конечно, что сама ловушка - правильна.

--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо