Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
1-80966
UnDISCOvery
2002-04-10 16:42
2002.04.25
А как нарисовать на форме


1-80977
ilysha
2002-04-11 10:46
2002.04.25
Как отследить окончание созданного процесса


1-81001
Chainik
2002-04-12 20:11
2002.04.25
наименование файла в заглавной строке формы


3-80811
valievrf
2002-04-05 12:39
2002.04.25
информация по БД


1-80874
Alexander K.
2002-04-14 00:05
2002.04.25
Как быстрее всего переделать цветное bmp(24) в монохром(24) ?





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