MFC DLL中的CWinApp在LoadLibrary时不调用InitInstance
lunat 2011-05-31 11:35:12 在MFC DLL(使用共享MFC)中:
class CAdapterApp : CWinApp
{
//...
}
CAdapterApp theApp
BOOL CAdapterApp::InitInstance()
{
CWinApp::InitInstance()
MessageBox(NULL, _T("App InitInstance"), NULL, 0);
return TRUE;
}
//...
问题:
1.在程序中使用LoadLibrary加载该DLL时,InitInstance不执行;
2.但是通过GetModuleHandle却可以得到该DLL的加载地址;
3.如果通过GetProcAddress获取其导出函数并调用,则会先执行InitInstance
4.在DLL内部调用FreeLibraryAndExitThread并不能卸载掉自身
以上步骤为依次执行,往各位高手解惑……