系统中存在的.Net web浏览器对象与Internet Explorer的关系是什么?

本文关键字:Explorer Internet 关系 是什么 浏览器 存在 Net web 系统 对象 | 更新日期: 2023-09-27 18:03:14

我正在为Windows 7开发一个c#应用程序,我想在表单内的web浏览器对象中从URL加载一些flash内容。我以为的是。net web浏览器对象是使用Internet Explorer安装在系统中。因此,如果我从系统中删除IE,它应该在实例化web浏览器对象时抛出异常。

但是我观察到的是,即使我从系统中删除IE,我的应用程序也可以呈现表单中的内容。但是,如果我点击内容中的任何链接,它不会打开任何弹出的IE窗口来显示该内容。

你能解释一下。net中默认的web浏览器对象和系统中的IE之间的关系吗?

任何指针或链接,我可以探索这种行为....?.

系统中存在的.Net web浏览器对象与Internet Explorer的关系是什么?

Trident(也称为MSHTML)是Microsoft Windows版本Internet Explorer的布局引擎名称。

Trident被设计为一个软件组件,允许软件开发人员轻松地将web浏览功能添加到他们自己的应用程序中。它提供了一个COM接口,用于在任何支持COM的环境(如c++和。net . ...)中访问和编辑网页Trident功能可以通过将mshtml.dll文件链接到软件项目中使用。

从wiki复制。链接在这里

mshtml.dll文件在我的系统中的位置:

  • C:'Windows'winsxs'x86_microsoft-windows-ie-htmlrendering_31bf3856ad364e35_8.0.7600.16385_none_2dd3aff6fa7f090a
  • C:'Windows'System32

所以我的猜测是,即使您从系统中删除IE, mshtml.dll保持不变

大多数卸载Internet Explorer的方法都是删除IE可执行文件,但保留渲染库,并且它们被Windows中的许多其他工具所使用。可能这就是为什么它为你工作,但不会弹出一个独立的IE窗口。

不幸的是,除了非正式的论坛讨论,我找不到任何正式的参考资料,而且没有一个比我更深入,所以我不能提供任何有用的链接来获取更多信息。