Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
libraryHookdemo; uses
Beeper in
'DELDEMOSHOOKDEMOBEEPER.PAS'; exports
SetHook index
1, UnHookHook index
2, HookProc index
3; begin
HookedAlready:=False
; end
.
, где beeper.pas содержит следующий код:
unitBeeper; 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 сведетельствует об отсутствии манипуляций с мышью.