| Автор
| Сообщение |
|
|
|
Цитата |
|
Блокирую среднюю кнопку мыши, а как запретить передачу фокуса окну по которому кликаешь?
[syntax=delphi]library MousePrevent;
uses
Windows,
Messages,
Controls,
SysUtils;
Var
SysHook: HHook = 0;
GWWM_MBUTTONDOWN: Cardinal;
GWWM_MBUTTONUP: Cardinal;
function SysMsgProcM(Code:Integer; WParam:LongInt; LParam:LongInt): LongInt; stdcall;
var
Msg:TMessage;
Wnd: HWND;
begin
if (Code = HC_ACTION) then
begin
Wnd:= FindWindow(nil, 'Form1');
case TMsg(Pointer(LParam)^).Message of
WM_MBUTTONDOWN:
begin
SendMessage(Wnd, GWWM_MBUTTONDOWN, 0, 0);
TMsg(Pointer(LParam)^).Message:= WM_NULL;
end;
WM_MBUTTONUP:
begin
SendMessage(Wnd, GWWM_MBUTTONUP, 0, 0);
TMsg(Pointer(LParam)^).Message:= WM_NULL;
end else
Result:= CallNextHookEx(SysHook,Code,WParam,LParam);
end;
end;
end;
procedure RunStopPreventHookM(State: Boolean) export; stdcall;
begin
if State = true then
begin
SysHook := SetWindowsHookEx(WH_GETMESSAGE, @SysMsgProcM, HInstance, 0);
end else
begin
UnhookWindowsHookEx(SysHook);
SysHook:= 0;
end;
end;
exports RunStopPreventHookM;
begin
GWWM_MBUTTONDOWN:= RegisterWindowMessage ('GWWM_MBUTTONDOWN');
GWWM_MBUTTONUP:= RegisterWindowMessage ('GWWM_MBUTTONUP');
end.[/syntax] |
|
| В начало |
|
 |
|
|
 |
|