【问题标题】:Using the res:// protocol with System.Windows.Forms.WebBrowser将 res:// 协议与 System.Windows.Forms.WebBrowser 一起使用
【发布时间】:2011-12-11 06:49:07
【问题描述】:

我正在尝试使用位于 dll 中的资源(html 文件)。使用 WinForms WebBrowser,当我导航到文件时,什么也没有发生,而包含 AxSHDocVw.dll 和 SHDocVw.dll 和 AxWebBrowser,它可以工作。 WinForms WebBrowser 控件是否受到某种限制或什么?我可以让它运行 res:// 吗?

【问题讨论】:

  • 您尝试使用的确切网址是什么?

标签: c# .net internet-explorer browser webbrowser-control


【解决方案1】:

在此处查看我的帖子:https://stackoverflow.com/a/15672462/1413201

基本要点是代码文件中有两种类型的资源。您需要包含一个 C 风格的资源脚本才能使用 res 协议。导航错误可能在WebBrowser 控件中关闭,因此您看不到错误。

您可以在 IE 中使用 res 协议来测试资源是否确实在文件中,并使用 C 风格的资源编辑器进行双重检查。

【讨论】:

    【解决方案2】:

    我会假设,出于安全原因,WinForms 的 WebBrowser 控件不处理 res:// 链接。这将使某人很容易访问包含在您可能不想访问的 DLL 中的资源。

    如果您想自己实现该功能,那么我建议您查看 Assembly 类及其用法。将 res:/// 解析到 DLL 路径、加载程序集、搜索给定资源并将其返回给 WebBrowser 控件应该不难。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 2018-04-24
      • 2019-04-11
      • 2019-09-01
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多