Написал с горем по полам CBTHook(dll) на HCBT_ACTIVATE. Суть этого хука в том что бы перехватить появление определенного окна, и получить его хендл, потом произвести с ним какие то действия.
Код хука:
Код:
function CBTHook(Code : Integer; wParam, lParam: DWORD): Longint; stdcall;
var
h : HWND;
begin
if Code >= 0 then
begin
case Code of
HCBT_ACTIVATE:
begin
h := FindWindow(nil, 'ScanMaster');
if h<>0 then
begin
SetWindowLong(h, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
end;
end;
end;
Result := 0;
end
else
Result := CallNextHookEx(HookCBTHandle, Code, wParam, lParam);
end;
включить: HookCBTHandle := SetWindowsHookEx(WH_CBT, @CBTHook, hInstance, 0);
Все работает, нужное окно он перехватывает, но когда запущен хук то все другие окна других программ становятся активными со второго клика мышки. Как победить это?
Может я вообще не так написал его? Помогите!!! Если нужно заплачу!