Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
2-1265174868
Ulugbek
2010-02-03 08:27
2010.04.04
Как изменять программно Caption MainMenuItems внутри Toolbar


6-1215928746
Надуев Алексей
2008-07-13 09:59
2010.04.04
Передача сообщений на другой компьютер


2-1265027047
LDV
2010-02-01 15:24
2010.04.04
найти дельту изменений exe


2-1265061595
Евгений Р.
2010-02-02 00:59
2010.04.04
Встроенные функции ADO для провайдера VFPOLEDB.1


15-1263421825
Юрий
2010-01-14 01:30
2010.04.04
С днем рождения ! 14 января 2010 четверг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский