Форум: "WinAPI";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];
ВнизНе передавать сообщение мыши Найти похожие ветки
← →
inferno (2009-01-11 09:49) [0]Здравствуйте.
Есть глобальный хук WH_MOUSE в dll, обработчик передает сообщения в программуSendMessage(FindWindow(nil,"Pipetka"),WM_USER+2,wParam,lParam);
Задача такая: в определенной ситуации нужно, чтобы сообщение передалось в программу, но мышь не сработала, т.е. чтобы перехваченное мной сообщение обработалось моим обработчиком но не передалось дальше.
function ms_hook(code : integer; wParam : word; lParam : longint) : longint; stdcall;
begin
if code >=0 then
begin
SendMessage(FindWindow(nil,"myForm"),WM_USER+2,wParam,lParam);
end;
if (условие) then Result:= CallNextHookEx(MouHook, Code, wParam, lParam)
else //!!!!...........!!!!
end;
← →
Сергей М. © (2009-01-11 11:15) [1]
> inferno
В справке черным по белому написано:
Return Values
To enable the system to process the message, the return value must be zero. To discard the message, the return value must be a nonzero value.
← →
inferno (2009-01-11 11:23) [2]Спасибо, но, если я правильно понял, то такой вариант я уже пробовал.
function ms_hook(code : integer; wParam : word; lParam : longint) : longint; stdcall;
begin
if code >=0 then
begin
SendMessage(FindWindow(nil,"MyForm"),WM_USER+2,wParam,lParam);
end;
{ Пытаемся передать сообщение дальше по цепочке hook-ов. }
if ((wParam=WM_LBUTTONDOWN) or (wParam=WM_NCLBUTTONDOWN) and (MouEnab=false) then
Result:=0
else Result:= CallNextHookEx(MouHook, Code, wParam, lParam);
end;
← →
Leonid Troyanovsky © (2009-01-11 13:12) [3]
> inferno (11.01.09 11:23) [2]
> Спасибо, но, если я правильно понял, то такой вариант я
> уже пробовал.
If the hook procedure processed the message, it may return a nonzero
value to prevent the system from passing the message to the target window
procedure.
--
Regards, LVT.
← →
inferno (2009-01-13 08:19) [4]Спасибо что ткнули носом ))
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c