Главная страница
    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-1264604465
s_t_d
2010-01-27 18:01
2010.04.04
Delphi-MSWord, как получить "разрыв" страницы?


15-1263319775
Anatoly Podgoretsky
2010-01-12 21:09
2010.04.04
Конец земле, вероятно


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


15-1263382053
itsme
2010-01-13 14:27
2010.04.04
Получение текста из дочернего элемента(ListBox).


3-1237815167
victor
2009-03-23 16:32
2010.04.04
PickList





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский