2011-11-01 93 views
0

我创建工具栏usign的BHO.And中,我想修改的用户代理字符串中的IE如下:追加自定义字符串只有

当前字符串:Mozilla的/ 4.0(兼容; MSIE 7.0; Windows NT 6.0)
需要字符串:CustomName,Mozilla/4.0(兼容; MSIE 7.0; Windows NT 6.0)

这里我想在Mozilla/4.0文本之前添加自定义名称。那我该怎么做呢? 我需要在注册表中的“用户代理”键做出什么改变,或者我需要对其他注册表键进行更改?

感谢,

回答

0

在托管Web浏览器(的IWebBrowser2/CWebBrowser2 /等)您的对话框/窗口中,你只需要重写OnAmbientProperty。它是CWnd的虚拟方法部分。

BOOL CMyLoginDlg::OnAmbientProperty(COleControlSite* pSite, DISPID dispid, 
    VARIANT* pvar) 
{ 
    if (dispid == DISPID_AMBIENT_USERAGENT) 
    { 
     CString strUserAgent("CustomName, Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"); 

     pvar->vt = VT_BSTR; 
     pvar->bstrVal = strUserAgent.AllocSysString(); 

     return TRUE; 
    } 

    return __super::OnAmbientProperty(pSite, dispid, pvar); 
} 

这应该做到这一点!