我通过DLL 向导建立一个 DLL文件 里边有一个 Unit1
是装着一个hook程序可是不知道如何使用请告诉
请问怎么用,另外,这样的程序可以直接建立EXE 启动吗?
hook程序是一现成的例子。
unit Unit1;interface
uses windows,Dialogs;
var
    OldHook:HHOOK;        //用来保存HOOK的返回?
    OldProc:FARPROC;      //用来指向窗口消息
    Function SetHook:Boolean;stdcall;
    Function HookProc(nCode,wParam,lParam:Integer):Integer;stdcall;
    Function WinProc(Hwnd,Msg,wParam,lParam:longint):LRESULT; stdcall;
    
implementation
{###################################################################################}
//安装HOOK
Function SetHook:Boolean;stdcall;
var
    Histance:Cardinal; 
begin
  //安装HOOK
  ShowMessage('1');
  OldHook:=SetWindowsHookEx(WH_KEYBOARD,@HookProc,Histance,0);
  if (OldHook=0) then exit else Result:=True;
end;{###################################################################################}
//HOOK回?函数
Function HookProc(nCode,wParam,lParam:Integer):Integer;stdcall;
var
WinStr:HWND;
begin
  //?置??
  ShowMessage('2');
  if (wParam=VK_F12) then
    begin
      ShowMessage('3');
      WinStr:=FindWindow(nil,'hook');
      OldProc:=FARPROC(GetWindowLong(WinStr,GWL_WNDPROC));
      SetWindowLong(WinStr,GWL_WNDPROC,Longint(@WinProc));
    end;
  //将HOOK???Windows?理
  Result:=CallNextHookEx(OldHook,nCode,wParam,lParam);
end;{###################################################################################}
//自定?Windows消息?理函数
Function WinProc(Hwnd,Msg,wParam,lParam:longint):LRESULT; stdcall;
begin  ShowMessage('ok');
Result:=CallWindowProc(OldProc,Hwnd,Msg,wParam,lParam);
end;
end.