Форум: "WinAPI";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];
ВнизПерехват сворачивания и восстановления окон Найти похожие ветки
← →
Vasily Terekhov (2002-11-13 10:19) [0]Привет
Как установить хук, чтобы я мог отслеживать сворачивание и восстановление всех окон?
Василий.
← →
Song (2002-11-13 10:31) [1]WH_GETMESSAGE+WM_SYSCOMMAND
или
WH_CBT
← →
Vasily Terekhov (2002-11-13 11:01) [2]Да
я именно так и делал:
но к сожалению SC_MINIMIZE и SC_RESTORE не отрабатывают :(
есть ошибка?
function MessageHook(Code : Integer; wParam, lParam: DWORD): Longint; stdcall;
var
Wnd: HWND;
W: HWND;
begin
Result := CallNextHookEx(HookHandle, Code, wParam, lParam);
if Code = HC_ACTION then
begin
Wnd := TMsg(Pointer(lParam)^).hwnd;
W := FindWindow(nil, "MessageHookForm");
if TMsg(Pointer(lParam)^).message = WM_SYSCOMMAND then
begin
case wParam of
SC_MINIMIZE: SendMessage(W, WM_SYSAPPMINIMIZE, Wnd, 0);
SC_RESTORE: SendMessage(W, WM_SYSAPPRESTORE, Wnd, 0);
end;
end;
end;
end;
procedure SetMessageHook;
begin
HookHandle := SetWindowsHookEx(WH_GETMESSAGE, @MessageHook, hInstance, 0);
if HookHandle = 0 then
MessageBox(0, "Set hook error", "ERROR", MB_ICONHAND);
end;
procedure RemoveMessageHook;
begin
if HookHandle <> 0 then
UnhookWindowsHookEx(HookHandle);
end;
← →
Song (2002-11-13 14:31) [3]Дык это у Вас в программе вставлено?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c