internet-explorer - 如何访问 IOmNavigator C++ 界面

标签 internet-explorer webbrowser-control mshtml

我在我的 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/

相关文章:

c# - 如何打开 Internet Explorer 窗口,在 url 上导航并使用 c# 和 mshtml 库获取她的文档(HTMLDocument 或 InternetExplorer)

javascript - 外部javascript文件导致ie内存泄漏

javascript - 诸如 "http://test:<a b>"之类的内容未显示在 IE 的文本区域中

css - 包装不同浏览器的文本溢出?

Java IE 提供旧的 HTTP Servlet session 对象

html - 有什么方法可以从 HTML、CSS 或 MSHTML 界面引用 Internet Explorer 中的系统字体和颜色?

c# - Winform WebBrowser 不显示 CSS

c# - Windows Phone 7 网络浏览器控制用户代理

c# - WebBrowser 控制文档在 iframe 和 Javascript 完成后完成

delphi - 获取对 HTMLCanvasElement 的引用