只要注入a.exe就可以,拦截他里面的一个按钮button1应该不要全局钩子吧?  这样会占很多资源吗?
这是按键钩子,  拦截按钮的要怎么做呢?var
  HookH:HHook;    //钩子句柄
  fileM:THandle;  //内存映射文件句柄
  PI:^Integer;    //映射到主程序句柄变量
    function keyhook(Code:Integer;wParam:WPARAM;lParam:LPARAM):LRESULT;stdcall;
var
  k:longint;
begin
      Result:=1;
  if code=HC_ACTION then
  begin
    if ((GetKeyState($C0) and $8000)<>0) then    //~键按下状态
    begin
      FileM:=OpenFileMapping(FILE_MAP_READ,False,'TestHook');//打开内存映射文件
      
      if (FileM<>0) and (((LParam shr 31)and 1)=0) then   //打开成功  and  ((LParam shr 31)and 1)=0)有键按下
      begin
        PI:=MapViewOfFile(FileM,FILE_MAP_READ,0,0,0);
        PostMessage(PI^,WM_HookKEY,wParam,lParam);//发送消息 WM_HookKEY
        UnmapViewOfFile(PI);  //取消映射
        CloseHandle(FileM);   //关闭内存映射文件
        
      end;
    end
    else
    begin
      k:=LParam and $ff0000;
      k:=k shr 16;
      if k<>41 then
        Result:=CallNextHookEx(HookH,code,Wparam,lParam);
    end;
  end
  else
     Result:=CallNextHookEx(HookH,code,Wparam,lParam);
end;