Microsoft 删除 Internet Explorer 后,Internet Explorer 自动化代码会继续工作吗?

问题描述

Microsoft recently announced 表示 Internet Explorer(产品)将不再随 Windows 提供,但 Internet Explorer(编程 API)将继续工作:

正如今天宣布的那样,具有 IE 模式的 Microsoft Edge 将正式取代 Windows 10 上的 Internet Explorer 11 桌面应用程序。因此,Internet Explorer 11 桌面应用程序将停止支持并于 2022 年 6 月 15 日停用Windows 10 版本。

在本公告发布时超出范围(不受影响):

  • Microsoft Edge 中的 Internet Explorer 模式
  • Internet Explorer 平台(MSHTML/Trident),包括 WebOC
  • Internet Explorer 11 桌面应用程序:
    • Windows 8.1
    • Windows 7 扩展安全更新 (ESU)
    • Windows 10 Server SAC(所有版本)
    • Windows 10 IoT 长期服务频道 (LTSC)(所有版本)
    • Windows 10 Server LTSC(所有版本)
    • Windows 10 客户端 LTSC(所有版本)

什么是 MSHTML (Trident) 引擎?这与 IE 模式有什么关系?

MSHTML (Trident) 引擎是 Internet Explorer 11 的底层平台。这与 IE 模式使用的引擎相同,它将继续得到支持(换句话说,不受本公告的影响)。 WebOC 也将继续得到支持如果您有一个依赖于 MSHTML 平台的自定义或第三方应用,您可以期待它继续工作。

(强调我的)

使用代码的开发人员

我们有可以追溯到几十年前的代码

  • 在内存中给出一些 HTML string
  • 将该文档交给 Internet Explorer 对象
  • 并使 Internet Explorer(单独的进程)可见

换句话说:

void SpawnIEWithSource(string szSourceHTML)
{
   IWebbrowser ie = (IWebbrowser)CreateComObject(CLASS_InternetExplorer);

   ie.Navigate2("about:blank");
   ie.Document.Write(szSourceHtml);
   ie.Document.Close;
   ie.Visible = True;
}

IUnkNown CreateComObject(Guid clsid)
{
   IUnkNown result;
   CoCreateInstance(clsid,null,CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,UuidOf(IUnkNown),ref result);

   return result;
}

那么这会继续有效吗?还是此更新会破坏应用程序?

奖励问题

当然,最好使用用户首选浏览器。不幸的是,这是不可能的。但为了以防万一,我们可以问:

奖励阅读

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)