如题,困惑中,望高手解答

解决方案 »

  1.   

    No way~非IE内核的其他浏览器,插件编写方式不同...
      

  2.   

    其他浏览器就需要对应的开发插件
    如firefox就有它对应的XPCom等插件开发规范
      

  3.   

    由于浏览器内核不一致,所以BHO基本上只能用于IE核心的浏览器.
    其他浏览器内核如WebKit, Gecko都有自己的插件规范,楼主有兴趣可以去它们的开发站点了解下.
      

  4.   

    遨游应该是IE内核的吧,怎么遨游也没有加载呢,只有IE自己加载了BHO
      

  5.   

    别的浏览器没提供这个功能怎么能让你想怎么加载就怎么加.人家ie提供了公开的接口.你可用ie的这些接口,但别人的浏览器不一定会去调用.
      

  6.   

    遨游好象封装了一套自己的插件调用方法,要实现一些它规定的接口以及加入插件的配置说明文件
    详细的情况你可以Google一下"遨游 插件 SDK"
      

  7.   

    怎么用程序控制这些IE内核的浏览器,比如360、遨游......来加载这个BHO插件啊
      

  8.   

    在BHO的DllMain入口里,处理第二个参数,当为DLL_PROCESS_ATTACH,判断调用BHO的程序模块是不是你期望的,是的话就继续,不是返回就可以了以下截选自MSDN:
    Detecting Who's Calling
    As mentioned earlier, a BHO can be called either by Internet Explorer or Windows Explorer if you're running at least shell version 4.71. In this case, I'm designing a helper object specifically targeted to work with HTML pages, so it will have nothing to do with Windows Explorer. A DLL that doesn't want to be loaded by a certain caller can simply return False in its DllMain() function once it detects who's calling. The GetModuleFileName() API function returns the name of the caller module if you pass NULL as its first argument. Such a parameter is the handle of the module whose name you want to know. NULL means that you want the name of the calling process.if (dwReason == DLL_PROCESS_ATTACH)
    {
    TCHAR pszLoader[MAX_PATH];
    GetModuleFileName(NULL, pszLoader, MAX_PATH);
    _tcslwr(pszLoader);
    if (_tcsstr(pszLoader, _T("explorer.exe"))) 
       return FALSE;
    }Once you know the name of the process, you can quit loading if it is Windows Explorer. Notice that a more selective choice might be dangerous. In fact, other processes could try to load the DLL for legitimate reasons and be rejected. The first victim of this situation is regsvr32.exe, the program used to automatically register the object. If you make a different test, say, only against the Internet Explorer executable:if (!_tcsstr(pszLoader, _T("iexplore.exe"))) you won't be able to register the DLL any longer. In fact, when regsvr32.exe attempts to load the DLL to invoke the DllRegisterServer() function, the call will be rejected.
      

  9.   

    hook到你想要的流揽器里,然后获取其webbrowser2,然后把这个指针传给你的bho