我正在创建工具栏,使用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文本之前添加自定义名称。那我该怎么办呢? 我需要在注册表“User Agent”中进行哪些更改,或者我需要在其他一些注册表项中进行更改?
谢谢,
答案 0 :(得分:2)
最简单的选择是通过注册表 - 详情请参阅http://msdn.microsoft.com/en-us/library/ms537503%28v=vs.85%29.aspx#UARegistry
答案 1 :(得分:0)
在托管Web浏览器的对话框/窗口(IWebBrowser2 / CWebBrowser2 / etc)中,您只需要覆盖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);
}
应该这样做!