Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.04.04;
Скачать: CL | DM;

Вниз

Не передавать сообщение мыши   Найти похожие ветки 

 
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 вся ветка

Текущий архив: 2010.04.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
15-1263655862
HRustBB
2010-01-16 18:31
2010.04.04
как сделать браузер классов


8-1203851462
Waren1
2008-02-24 14:11
2010.04.04
MediaPlayer


15-1263384716
pavel_guzhanov
2010-01-13 15:11
2010.04.04
новый лохотрон с СМС


6-1207310729
Pochemuk
2008-04-04 16:05
2010.04.04
Ремэпинг без подмены IP. Как сделать?


2-1265199301
12
2010-02-03 15:15
2010.04.04
Перестал вызываться метод DrawDataCell TDBGrida.