我在我的 C++ 应用程序中托管了 mshtml。我尝试在 IHTMLDocument 中查询 IOmNavigator,但没有得到任何结果。我也尝试对 IHTMLWindow2 执行相同的操作,但没有成功。
我正在尝试访问 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 接口(interface),然后是 IHTMLWindow2 接口(interface),然后是 IOmNavigator 接口(interface),然后是 useragent 字符串,并相应地设置一些边距(IE11 与 IE10 及之前版本的渲染方式不同)页)。 HTH,图形。
关于internet-explorer - 如何访问 IOmNavigator C++ 界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11853993/