360安全卫士运行的时候会把safemon.dll注入到其他进程内,360退出的时候这些DLL也会被卸载掉
请问如果safemon.dll是一个带有窗体Form1的DLL,该如何卸载呢?

解决方案 »

  1.   

    先释放资源然后FreeLibrary
    窗体就发送WM_DESTROY销毁就可以了
      

  2.   

    我用的静态加载方式,程序A把DLL文件B注入到程序C中procedure TDLL的Form1.WndProc();    //DLL接受卸载的Message
        HookOff;   //DLL给自己发送WM_DESTROY销毁自己
        PraExit;   //DLL给程序A发送程序A.Form1.Close,结束程序A
    end;procedure TDLL的Form1.WndProc();    //DLL接受卸载的Message
        PraExit;   //DLL给程序A发送程序A.Form1.Close,结束程序A
        HookOff;   //DLL给自己发送WM_DESTROY销毁自己
    end;使用的时候这两种顺序都没出错,先结束谁都没有问题?
      

  3.   

    不过卸载DLL的时候必须把程序A结束掉,不能单单卸载DLL文件B而保留程序A继续运行?