我静态调用一个dll后程序就不能正常结束了,但这个dll是第三方的,我必须要用它,怎么才能强制结束呢?我用了很多结束进程的函数都不行,比如exitproccess,halt,postmessage,那位高人指点呵

解决方案 »

  1.   

    freelibrary 不行么?建议看看线程插入的源代码,不是用hook插入的那种.
      

  2.   

    有可能是你调用这个DLL后,传递了一个地址给该DLL的函数,而该DLL执行完成后并没有完全释放它的所有权,所以你不能正常的结束
      

  3.   

    静态调用的,所以没有freelibrary,不过我听说静态调用的dll程序结束系统会自动调用freelibrary,dll是第三方的,没法改,程序要结束时就不关心别的拉,只要强制结束就可以了
      

  4.   

    不要使用静态调用,用LoadLibrary动态装入dll,用GetProceAddress获得调用函数的指针,调用完毕后用FreeLibrary释放dll