Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
Delphi hook, Перехват сообщения wm_close для чужого приложения
 
Подскажите, как я могу перехватить сообщение wm_close, посланное окну чужого приложения. Сейчас делаю так (может вместо wh_cbt надо использовать что-то ещё?):

function HookProc(Code: integer; WParam: word; LParam: Longint): Longint; stdcall;
var msg: PEVENTMSG;
begin
  form1.label2.caption:=inttostr(code);
if Code >= 0 then begin
  result := 0;
  msg := Pointer(LParam);
  form1.label1.caption:=inttostr(msg.message);
  if msg.message=wm_close then form1.caption='есть';
end else
  result := CallNextHookEx(HookHandle, code, WParam, LParam);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
fnd:=findwindow(nil,'Калькулятор');
//showmessage(inttostr(fnd));
gwd:=GetWindowThreadProcessId(fnd,nil);
//showmessage(inttostr(gwd));
HookHandle := SetWindowsHookEx(wh_cbt, @HookProc, HInstance, gwd);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
if HookHandle <> 0 then UnhookWindowsHookEx(HookHandle);
end;
Страницы: 1
Читают тему