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

Вниз

Hooks   Найти похожие ветки 

 
MystiX   (2002-04-12 21:38) [0]

Объясните пожалуйста как поставить hook на нажатие средней кнопки на мыши в любом месте экрана
т.е. вне фотмы.
----------------------------------------------------------------
Заранее спасибо!


 
Fantasist   (2002-04-13 09:29) [1]

А в чем проблема?
Пишишь dll, в ней ставишь свой обработчик(хук) на систему.


 
MystiX   (2002-04-13 09:58) [2]

Проблема в том, что я не знаю как это сделать.
Можетпример где есть?


 
Fantasist   (2002-04-13 10:41) [3]

Понял. Пример есть:


library hook;

uses
SysUtils,
Classes,
Windows,
Messages;


var
HookHandle: HHOOK = 0;
wHandle:HWND;

//функция обрабатывающая сообщения (мышиные)
function HookProc(Code:integer; W:WParam; l : LParam): LongInt; stdcall;
begin
///////
//здесь обрабатываем.
//не забываем, что на самом деле надо проанализировать Code,
//и делать или не делать на основании его.
/////
...
Result:=CallNextHookEx(HookHandle,Code,W,L);;
{здесь так же помним, что скорее всего следующий хук этой функцией вызван не будет, так как у нас хук глобальный, а мы не позаботились о разделении HookHanlde между процессами. Но можно на это наплевать. :) }
end;

function SetHook(Hdl:HWND;HookType:Integer;ThreadID:DWord;I:Integer): LongBool; stdcall;
begin
//последний параметр 0 - хук глобальный.
HookHandle := SetWindowsHookEx(HookType, HookProc, HInstance,0);
wHandle:=Hdl; //это просто так - я его для MessageBox"ов использовал
Result := HookHandle <> 0 ;
end;

function RemoveHook: LongBool; stdcall;
begin
Result := UnHookWindowsHookEx(HookHandle)
end;

exports
SetHook, RemoveHook, HookProc;

begin
end.


Тут есть статья на этом сайте - глянь, там правда как-то странно организованно разделение данных dll.



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.008 c
1-80986
kimblch
2002-04-10 02:29
2002.04.25
Вопрос по OLE-Automation(ранние связывание)


6-81012
Татьяна
2002-02-07 08:01
2002.04.25
Как соединть сервер, программированный на D4 с клиентом под DOS по IPX


1-80844
Ламазавр
2002-04-12 20:15
2002.04.25
при клике на кнопку запускался Wav файл


7-81089
SoftOne
2002-01-30 02:11
2002.04.25
I/O error, 32


1-80894
f0rm
2002-04-14 15:19
2002.04.25
Нужна процедура загрузка и сохранения item ов в listview e