![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с хуками... [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 а второе на что-то, что если будет то тогда вызывается активация, ну например какое-либо окно в системе.