我用MFC 做了一个浏览器程序,当点击网页上的按钮的时候自动换成360浏览器(我安装的浏览器)打开了,怎样换成mfc浏览器打开,默认的主页为这个网页,当点击上面的搜狐等网页时,自动用我安装的360浏览器打开,为什么,有办法改过来吗

解决方案 »

  1.   

    360 很流氓的,这个真是无解,感觉从底层 Hook 了所有调起 IE 的操作,除非你是直接执行 iexplore.exe。
    我用这段代码,在别人的电脑上居然调起 360 安全浏览器,Navigate 函数直接无效,简直他妈的想骂人。
    HRESULT hr = OleInitialize(NULL);
    if ((hr == S_OK) || (hr == S_FALSE))
    {
    IWebBrowser2 *wb = NULL;
    hr = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, IID_IWebBrowser2, (void **)&wb);
    if (hr == S_OK)
    {
    BSTR bstrUrl = SysAllocString(L"http://bbs.csdn.net/");
    if (bstrUrl != NULL)
    {
    VARIANT vtEmpty;
    vtEmpty.vt = VT_EMPTY;
    hr = wb->Navigate(bstrUrl, &vtEmpty, &vtEmpty, &vtEmpty, &vtEmpty);
    SysFreeString(bstrUrl);
    }
    wb->Quit();
    wb->Release();
    }
    OleUninitialize();
    }
      

  2.   

    你处理一下 NewWindow2 就行了,具体我就不放代码了,随便度一下就有。
      

  3.   

    这个要你处理下,自己重写虚函数OnNewWindow2
    http://blog.csdn.net/xiangzhang321/article/details/7753177