鉤子 HOOK 機制的使用

2021-04-08 22:24:06 字數 1968 閱讀 5165

wh_mouse,@gethookinfo,hinstance,getcurrentthreadid

());

mymousehook.callbackfun :=callbackf;

mymousehook.isrun:=not mymousehook.isrun;

end;

end;

procedure uninstallmousehook(); stdcall;

begin

if mymousehook.isrun then

begin

unhookwindowshookex(mymousehook.hook);

mymousehook.callbackfun :=nil;

mymousehook.isrun:=not mymousehook.isrun;

end;

end;

procedure dllentrypoint(dwreason:dword);

begin

case dwreason of

dll_process_attach:begin

mymousehook.isrun:=false;

end;

dll_process_detach:;

dll_thread_attach:;

dll_thread_detach:;

end;

end;

exports

installmousehook,

uninstallmousehook;

begin

dllproc := @dllentrypoint;

dllentrypoint(dll_process_attach);

end.

unit unit1;

inte***ce

uses

windows, messages, sysutils, variants, classes, graphics, controls, forms,

dialogs, stdctrls;

type

tcallbackfun=procedure(info:pchar);

type

tform1 = class(tform)

memo: tmemo;

button1: tbutton;

procedure formdestroy(sender: tobject);

procedure button1click(sender: tobject);

private

public

end;

var form1: tform1;

implementation

procedure installmousehook(callbackf:tcallbackfun); stdcall;external 'mousehook.dll';

procedure uninstallmousehook(); stdcall;external 'mousehook.dll';

procedure addinfo(info:pchar);

begin

end;

//2、安裝鉤子

procedure tform1.button1click(sender: tobject);

begin

installmousehook(addinfo);

end;

//3、一定不要忘了卸裝鉤子

procedure tform1.formdestroy(sender: tobject);

begin

uninstallmousehook();

end;

end.

風花雪月 e夢情緣

網路代號:wnhoo or sos_admin

網名:e夢緣

mail:

[email protected]

鉤子 HOOK 機制的使用

wh mouse,gethookinfo,hinstance,getcurrentthreadid mymousehook.callbackfun callbackf mymousehook.isrun not mymousehook.isrun end end procedure uninstal...

js中的鉤子機制 hook

什麼是鉤子機制?使用鉤子機制有什麼好處?鉤子機制也叫hook機制,或者你可以把它理解成一種匹配機制,就是我們在 中設定一些鉤子,然後程式執行時自動去匹配這些鉤子 這樣做的好處就是提高了程式的執行效率,減少了if else 的使用同事優化 結構。由於js是單執行緒的程式語言,所以程式的執行效率在前端開...

HOOK使用 全域性鍵盤鉤子

define win32 winnt 0x0500 設定系統版本,可以使用底層鍵盤鉤子 define wm my shorts wm user 105 include windows.h 全域性變數 lpword g lpdwvirtualkey null keycode 陣列的指標 int g n...

C 中使用Hook(鉤子)

鉤子 hook 是windows訊息處理機制的一個平臺,應用程式可以在上面設定子程以監視指定視窗的某種訊息,而且所監視的視窗可以是其他程序所建立的。當訊息到達後,在目標視窗處理函式之前處理它。鉤子機制允許應用程式截獲處理window訊息或特定事件。關於hook的詳細介紹,在微軟的msdn中有,下面是...

php中的鉤子 hook外掛機制

對 鉤子 這個概念其實不熟悉,最近看到一個php框架中用到這種機制來擴充套件專案,所以大概來了解下。hook外掛機制的基本思想 在專案 中,你認為要擴充套件 暫時不擴充套件 的地方放置一個鉤子函式,等需要擴充套件的時候,把需要實現的類和函式掛載到這個鉤子上,就可以實現擴充套件了。思想就是這樣聽起來比...