如何从 mfc 应用程序调用 IE 或任何其他浏览器?

Posted

技术标签:

【中文标题】如何从 mfc 应用程序调用 IE 或任何其他浏览器?【英文标题】:How to call IE or any other browser from a mfc application? 【发布时间】:2012-06-22 17:13:48 【问题描述】:

我有一个 html 文件,我想从我的 mfc 应用程序中打开它,一种方法是 shellexecute,它可以工作,但问题是你必须将 iexplorer.exe 位置作为参数传递给 shellexecute,这通常是c:\Program Files.... 但是如果 IE 不在 c: 中怎么办?如果 Windows 位于另一个驱动器中,例如 d:,该怎么办?有没有其他方法可以做到这一点?或者有没有返回windows驱动的函数?

【问题讨论】:

【参考方案1】:

你想多了。只需使用 URL 调用 ShellExecute:

ShellExecute(0, NULL, pszURL, NULL, NULL, SW_SHOWDEFAULT);

它将使用默认浏览器打开。

【讨论】:

是的,但是如果我特别想使用 Internet Explorer(出于某种原因)怎么办? 您为什么要这样做?什么是好的理由?就连微软也基本放弃了IE。 Chrome 是事实上的“标准”浏览器。如果你想调用IE,那么它就变得复杂了。为了您自己的测试目的,只需将 IE 设为默认浏览器,然后使用上述 URL 的 ShellExecute 将启动 IE。 CHtmlView 类为超高清打印搞砸了。作物页面。但 IE 本身打印正常。或任何其他浏览器,但我在其他浏览器中有分页问题。此外,Edge 没有打印背景设置。 我整理好了。

以上是关于如何从 mfc 应用程序调用 IE 或任何其他浏览器?的主要内容,如果未能解决你的问题,请参考以下文章

将 MFC 类转换为 C++ 标准库

如何使用 AngularJs 或其他 JavaScripts 查找浏览器应用程序设置?

如何捕获从 MFC Web 浏览器 C++ 发出的 GET/POST 请求

如何在 MFC 的不同视图中调用其他函数?

如何让 IE 以外的浏览器接受文件 url?

如何显示浏览器特定的 HTML?