![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 Вы сами заставляете ее делать это. Разве диалог - не окно?