Здравствуйте! Есть задача передать сообщение чужому окну. Для этого соорудил ловушку.
Код:
library WinFocus;
{$R *.res}
uses
windows,
Messages;
var SysHook: hHook = 0;
WindowHandle: HWnd;
function GetWinHandle:Hwnd export; stdcall;
begin
result:=WindowHandle;
end;
function CBTProc(Code: Integer; wParam: WParam; LParam: LParam):integer;
begin
WindowHandle:=GetForegroundWindow;
result:=CallNexthookEx(SysHook, code, Wparam, LParam);
end;
procedure RunHook(wnd:Hwnd) export; stdcall;
begin
SysHook := SetWindowsHookEx(HCBT_SETFOCUS, @CBTProc, hInstance, 0);
end;
procedure StopHook export; stdcall;
begin
UnhookWindowsHookEx(SysHook);
SysHook:=0;
end;
exports StopHook, RunHook, GetWinHandle;
end.
Но эта ловушка ловит почему-то только мое окно и не реагирует на остальные. Что я делаю не так?