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

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

HOOK!!!срочно!!!! [D5, D6, Win95/98, WinME, Win2k]


slipper ©   (2002-10-04 18:43:00) 

Нужно установить HOOK на создание окна(получать handle, создаваемого окна).
Суть проблемы:
После установке HOOK"а, получается так, что система как бы постоянно создает окно.
Помогите примером please, или объясните причины глюка.
КОД DLL:

function CBTProc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
begin
if code=HCBT_CREATEWND then
MessageBox(0,"OK","",0);
Result:= CallNextHookEx(GlobalData^.SysHook, Code, wParam, lParam);
end;

procedure hook(switch : Boolean) export; stdcall;
begin
if switch=true then
begin
GlobalData^.SysHook := SetWindowsHookEx(WH_CBT,@CBTProc, HInstance, 0);
if GlobalData^.SysHook <> 0 then
MessageBox(0, "HOOK установить удалось !", "", 0)
else
MessageBox(0, "HOOK установить не удалось !", "", 0);
end
else
begin

if UnhookWindowsHookEx(GlobalData^.SysHook) then
else
MessageBox(0, "HOOK снять не удалось !", "", 0);

end;
end;


Юрий Зотов   (2002-10-04 22:18:00) [1]

> if code=HCBT_CREATEWND then MessageBox(0,"OK","",0);

> После установке HOOK"а, получается так, что система как бы
> постоянно создает окно.

И даже без "как бы". Она его действительно постоянно создает. Своим MessageBox Вы сами заставляете ее делать это. Разве диалог - не окно?


Наверх

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