ВНИМАНИЕ! Конкурс по программированию!

Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.

 
Информация к новости
 (голосов: 1)

Создание мышиного перехватчика

Категория: Программирование » Delphi » Статьи и исходники » ОС и Железо » Мышка и Курсор





library Hookdemo;
uses
Beeper in '\DELDEMOS\HOOKDEMO\BEEPER.PAS';
exports
SetHook index 1,
UnHookHook index 2,
HookProc index 3;
begin
HookedAlready:=False;
end.

, где beeper.pas содержит следующий код:


unit Beeper;
interface
uses Wintypes, Winprocs, Messages;
function SetHook: Boolean; export;
function UnHookHook: Boolean; export;
function HookProc(Code: integer; wParam: Word;
  lParam: Longint): Longint; export;
var
  HookedAlready: Boolean;
implementation
var
  ourHook: HHook;
function SetHook: Boolean;
begin
  if HookedAlready then
    exit;
  ourHook := SetWindowsHookEx(WH_MOUSE, HookProc, HInstance, 0);
  HookedAlready := True;
end;
function UnHookHook: Boolean;
begin
  UnHookWindowsHookEx(ourHook);
  HookedAlready := False;
end;
function HookProc(Code: integer; wParam: Word;
  lParam: Longint): Longint;
begin
  if (wParam = WM_LBUTTONDOWN) then
    MessageBeep(0);
  result := CallNextHookEx(ourHook, Code, wParam, lParam);
end;
end.

Теперь, при вызове из приложения функции SetHook, при каждом нажатии левой кнопки мыши будет раздаваться сигнал - до тех пор, пока вы не вызовете функцию UnHookHook. В действующем приложении возвращаемое функцией CallNextHookEx значение < 0 сведетельствует об отсутствии манипуляций с мышью.

Автор неизвестен
Источник: delphiworld.narod.ru

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Введите два слова, показанных на изображении: *