Вы должны проверить DllMain , какой процесс пытается загрузить dll и вернуть FALSE , если это не IE. Например:
extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance,
DWORD dwReason, LPVOID lpReserved)
{
if( dwReason == DLL_PROCESS_ATTACH )
{
TCHAR processExe[ MAX_PATH ];
GetModuleFileName( NULL, processExe, MAX_PATH );
_tcslwr_s( processExe, MAX_PATH - 1 );
if ( _tcsstr( processExe, _T( "explorer.exe" ) ) )
return FALSE;
}
/* rest of DllMain */
}