Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
ВнизНе доходят месаги в хук!!! Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.058 c