A:关于BHO的注册 1:在正常开发完之后 需要在rgs文件的后边添加如下代码 HKLM { NoRemove SOFTWARE { NoRemove Microsoft { NoRemove Windows { NoRemove CurrentVersion { NoRemove Explorer { NoRemove 'Browser Helper Objects' { ForceRemove {1BAF7F27-51EA-43EC-BB8C-BD6CCBEA6902} = s 'TBho Class' //CLSID { val 'NoExplorer' = d '1' //不让explorer.exe加载 } } } } } } } } B:如果修改了DLLMain 注意编译选项的设置 BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/) { if (dwReason == DLL_PROCESS_ATTACH) { //MyCode //不允许explorer加载本COM 注意修改编译选项(WIN32,NDEBUG,_WINDOWS,_USRDLL,_ATL_DLL) TCHAR pszLoader[MAX_PATH]; GetModuleFileName(NULL, pszLoader, MAX_PATH); _tcslwr(pszLoader); if (_tcsstr(pszLoader, _T("explorer.exe"))) { return FALSE; } /************************************************************************/ _Module.Init(ObjectMap, hInstance, &LIBID_BANKLib); DisableThreadLibraryCalls(hInstance); } else if (dwReason == DLL_PROCESS_DETACH) _Module.Term(); return TRUE; // ok }