IE bandobject появляется в панели задач рабочего стола

Я создал бэндобъект IE (панель инструментов), который находится в IE и работает хорошо, однако он также появляется в меню панели задач XP под панелями инструментов. Кто-нибудь знает, как предотвратить это поведение?

Спасибо!

2 ответа

Решение

Вы должны проверить в 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 */
}

Будет ли работать раздел реестра NoExplorer?

Другие вопросы по тегам