Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с хуками... [D6, Win95/98]


progger ©   (2002-10-10 12:19:00) 

Ув. знатоки, подскажите пожалуйста как с помощью хука блокировать нажатие кнопок мыши для всех процессов, и как отменить этот запрет, не выгружая хук. Заранее благодаре, и если можно, то хотелось бы получить часть кода программы решающую данный вопрос.


Song   (2002-10-10 13:43:00) [1]

Вернуть TMessage(TMsg(Pointer(lParam)^).Message).Result не успешный или подменить сообщение на WM_NULL или не вызывать CallNextHookEx()


progger   (2002-10-10 13:03:00) [2]

С помощью этой процедуры в своей библиотеке я отлавливаю нажатие правой клавиши. Так где и какой оператор мне поставить, чтобы нажатие кнопки до приложения не дошло?
function SysMsgProc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
begin
if code = HC_ACTION then
begin
{Проверяю, нажата ли правая кнопка мыши}
if TMsg(Pointer(lParam)^).message = WM_RBUTTONDOWN then begin

{Вывожу сообщение при удачной работе.}
MessageBox(0, "HOOK1 working !", "Message from Exampel2/Process1", 0); end;
end;
{Пытаемся передать сообщение дальше по цепочке hook-ов. }
Result:= CallNextHookEx(GlobalData^.SysHook, Code, wParam, lParam);
end;


Song   (2002-10-10 12:43:00) [3]

Нужно в CallBack ф-ии хука сделать двойное условие. Первое например на HC_ACTION а второе на что-то, что если будет то тогда вызывается активация, ну например какое-либо окно в системе.


Наверх

Титульная страница Поиск, карта сайта Написать письмо