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

Вниз

Не доходят месаги в хук!!!   Найти похожие ветки 

 
volser   (2005-04-19 23:11) [0]

Вешаю глобальный хук


DLL:

function WndProc(code:integer; wParam:WPARAM; lParam:LPARAM):LRESULT; stdcall;
begin
 if code=HC_ACTION then
 begin

   if PCWPStruct(Pointer(lParam))^.message=WM_DM_RESTORE then
   begin
     LogMes("Restore Message");
   end;
 end;
end;

procedure InstallHooks; stdcall;
Var
 pid : DWord;
 Wnd : Hwnd;
begin
 Wnd:= FindWindow("ProgMan", nil);
 if Wnd<>0 then
 begin
   pid:=GetWindowThreadProcessId(Wnd);
   hWndProc:=SetWindowsHookEx(WH_CALLWNDPROC,WndProc, hInstance,pid);
 end;
end;

procedure UnInstallHooks; stdcall;
begin
 UnHookWindowsHookEx(hWndProc);
end;

........

Program:

procedure TformMain.FormDestroy(Sender: TObject);
begin
 LogMes("RESTORE");
 SendMessage(GetDesktopListViewHandle,WM_DM_RESTORE,0,0);
 LogMes("UnHook");
 UninstallHooks;

 
end;



Прога висит в трае и в поп ап меню есть итем Exit;
Когда просто запускаю и закриваю, то результат лога
 RESTORE
 Restore Message
 UnHook

Но когда запускаю, нажимаю кнопку "свернуть все окна", сворачиваю, то результат
 RESTORE
 Restore Message
 UnHook

Если перед закритием открываю любую прогу, то все ОК.

В чем прикол?


 
volser   (2005-04-19 23:12) [1]

Сори, во втором варианте результат лога
 
 RESTORE
 UnHook



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

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

Наверх




Память: 0.46 MB
Время: 0.025 c
1-1117169131
silvestr
2005-05-27 08:45
2005.06.14
Как удалить лишние пробелы в конце строки ?


1-1116836985
P.N.P.
2005-05-23 12:29
2005.06.14
Приведение типов


1-1117540421
makey
2005-05-31 15:53
2005.06.14
запись в текстовый файл длинных строк


14-1117086751
leonidus
2005-05-26 09:52
2005.06.14
Посоветуйте бесплатный компонентик для обновления программы


4-1113589617
ComPort
2005-04-15 22:26
2005.06.14
Срочно нужна помощь, трабла с COM портом...