我自己的DLL通过程序注入到其它程序中了,可是卸载时总出错,用OD卸载也提示如下Explorer.EXE - 应用程序错误
----------
应用程序发生异常 未知的软件异常 (0x0eedfade),位置为 0x7c812a6b。
这个DLL是带有窗口的,我用同样的代码可以正常卸载其它没窗口的DLL,请问该怎么样卸载带窗口的DLL
我自己试下在DLL卸载时加入个发送自定义消息
DLL_PROCESS_DETACH :
      begin
        SendMessage(form1.handle, WM_THREADEXIT, 0, 0);然后收到这个WM_THREADEXIT就postquitmessage(0);
但是这样还是出错,应该怎么做才能正常的卸载这个DLL啊??????

解决方案 »

  1.   

    可以不可以在卸载的时候,发个消息给dll,让dll把自己的窗体free了,然后返回个值给主窗体,判断是否可以free dll
      

  2.   

    我的卸载DLL的代码就是注入到目标进程中让它自己freelibrary,可是就是有窗口的时候不行
      

  3.   

    以前就问过这个问题没有解决
    http://topic.csdn.net/u/20090503/15/3910953b-d116-4094-9c49-6b4ae4b8b31a.html
      

  4.   

    以前就问过这个问题没有解决
    http://topic.csdn.net/u/20090503/15/3910953b-d116-4094-9c49-6b4ae4b8b31a.html