我做了一个api hook 
用的是setwindowshook的方法把dll注入到目标进程
当用unhookwindowshook卸载hook的时候 dll也会从目标进程里被卸除
我想在dll被卸除的时候恢复目标进程被hook的api的原来的地址 以便
我的程序退出的时候 目标进程还能正常工作 请问 这些收尾的代码要写在哪里??

解决方案 »

  1.   

    begin
     .................
    finalization
     这里写收尾代码
    end.
      

  2.   

    procedure DllMain(dwReason : DWORD);
    begin
      case dwReason of
        DLL_PROCESS_ATTACH :
          begin
            ShowMyMessage;
          end;
        DLL_PROCESS_DETACH :
          begin
            //代码写在这里
          end;
        DLL_THREAD_ATTACH :
          begin
          end;
        DLL_THREAD_DETACH :
          begin
          end;
      end;
    end;exports
      ShowMyMessage;
    begin
      DLLProc := @DLLMain;
      DLLMain(DLL_PROCESS_ATTACH);
    end.
      

  3.   

    我的代码和2楼差不多 只是就是不被执行 后来我在大富翁上得到了答案 原来是delphi6的一个bug
    我打了sp2补丁后就可以了  
    结贴咯