仅在IE用户代理中添加自定义字符串
本文关键字:自定义 字符串 添加 IE 用户代理 仅在 | 更新日期: 2023-09-27 18:12:52
我正在使用BHO创建工具栏。我想在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文本之前添加自定义名称。那么我该怎么做呢?我需要在注册表"用户代理"键中进行哪些更改,或者我需要在其他注册表项中进行更改?
谢谢,
最简单的选择是通过注册表-详细信息请参见http://msdn.microsoft.com/en-us/library/ms537503%28v=vs.85%29.aspx#UARegistry
在你的对话框/窗口,主机的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);
}
应该可以了!