I think I found the cause of the LoadLibrary() problems. If I comment out this line in DllMain(), it never fails to load:
EDIT: Oh crap, I spoke too soon... :(Code:BOOL APIENTRY
DllMain( HANDLE /*hModule*/,
DWORD ul_reason_for_call,
LPVOID /*lpReserved*/
)
{
TRACE( "*** DllMain() ***" );
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
TRACE( "DLL_PROCESS_ATTACH" );
// CUExit::ReadCfgFile();
break;
case DLL_THREAD_ATTACH:
TRACE( "DLL_THREAD_ATTACH" );
break;
case DLL_THREAD_DETACH:
TRACE( "DLL_THREAD_DETACH" );
break;
case DLL_PROCESS_DETACH:
TRACE( "DLL_PROCESS_DETACH" );
break;
}
return TRUE;
}
bool
CUExit::ReadCfgFile()
{
TRACE( "*** CUExit::ReadCfgFile() ***" );
Tifstream fin( "UExit.cfg" );
if ( !fin )
{
TRACE( "readCfgFile(): Failed to open file UExit.cfg!" );
return false;
}
if ( !std::getline( fin, m_ScriptToCall ) )
{
TRACE( "readCfgFile(): getline() failed!" );
return false;
}
TRACE( _T("readCfgFile(): m_ScriptToCall = '") + m_ScriptToCall + _T("'") );
return true;
}