
远程线程DLL注入, 如何释放DLL和结束DLL的线程
DLL是MFC的DLL,我在这个DLL的初始化函数中创建了一个对话框窗口,如何在dll中操作实现结束dll当前的线程和释放掉dll.比如在窗口(模态对话框)关闭后结束线程...
DLL是MFC的DLL, 我在这个DLL的初始化函数中创建了一个对话框窗口, 如何在dll中操作实现结束dll当前的线程和释放掉dll. 比如在窗口(模态对话框)关闭后结束线程, 释放dll.
大神来指点指点吧.大神 展开
大神来指点指点吧.大神 展开
2个回答
展开全部
kernel32.dll里有个函数叫FreeLibraryAndExitThread
就是专门给你做这种事情用的:
正常情况下你调用FreeLibrary来释放当前执行的代码所在的DLL会导致FreeLibrary返回以后无法继续执行之后的代码(DLL已经释放了)
而这个函数会在FreeLibrary之后结束当前线程,这个操作的代码在kernel32.dll中,所以不存在上述问题
就是专门给你做这种事情用的:
正常情况下你调用FreeLibrary来释放当前执行的代码所在的DLL会导致FreeLibrary返回以后无法继续执行之后的代码(DLL已经释放了)
而这个函数会在FreeLibrary之后结束当前线程,这个操作的代码在kernel32.dll中,所以不存在上述问题
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询