2
我的mshtml托管在我的C++应用程序中。我试图为IOmNavigator查询IHTMLDocument,但没有收到任何信息。我也试图用IHTMLWindow2做同样的事情,但没有运气。如何访问IOmNavigator C++界面
我试图访问IOmNavigator以获取浏览器版本号。任何帮助将不胜感激。
感谢
上述我的mshtml托管在我的C++应用程序中。我试图为IOmNavigator查询IHTMLDocument,但没有收到任何信息。我也试图用IHTMLWindow2做同样的事情,但没有运气。如何访问IOmNavigator C++界面
我试图访问IOmNavigator以获取浏览器版本号。任何帮助将不胜感激。
感谢
上述IHTMLDocument2 *pDoc; IHTMLWindow2 *ihw; IOmNavigator *nvg; BSTR uastr; AnsiString mouni;
if (SUCCEEDED(CppWebBrowser1->Document->QueryInterface(IID_IHTMLDocument2,(void**)&pDoc)))
{
pDoc->get_parentWindow(&ihw); ihw->get_navigator(&nvg); nvg->get_userAgent(&uastr);
mouni=AnsiString(uastr).UpperCase(); nvg->Release(); ihw->Release(); pDoc->Release();
if (mouni.Pos("TRIDENT")>0 && mouni.Pos("MSIE")==0) { lmrg=8; tmrg=8;}
}
代码剪断(BCB5)显示了如何获得的IHTMLDocument2接口,那么IHTMLWindow2接口,那么IOmNavigator接口,然后用户代理字符串,并相应地设置一些利润率(IE11是不同的IE10和以前版本的方式呈现页面)。 HTH,图形。
你可能需要QueryService()的东西,但我不知道要求什么或什么SID。 – 2012-08-07 23:15:18
做一些挖掘interwebs它看起来像人们声称IHTMLWindow2有一个get_navigator()方法。尽管这在MSDN上没有列出,所以我不确定这些文档是错误的还是这些人正在破解。 – 2012-08-08 16:32:43
@i_am_jorf https://msdn.microsoft.com/en-us/library/aa741467.aspx您可以在'' –
manuell
2016-04-12 08:25:49