【问题标题】:WebPage works in IE but in a WebBrowser control produces System.AccessViolationExceptionWebPage 在 IE 中工作,但在 WebBrowser 控件中会产生 System.AccessViolationException
【发布时间】:2012-06-24 06:21:39
【问题描述】:

我使用 WebBrowser 组件并输入正确的 URL,它可以正常工作,但是当我访问另一个链接时,它会产生此异常

System.Windows.Forms.dll 中发生了“System.AccessViolationException”类型的未经处理的异常

附加信息:试图读取或写入受保护的内存。这通常表明其他内存已损坏。

当我使用 IE 或 Firefox 导航到此 URL 时,它工作正常并且没有错误。提前致谢。

【问题讨论】:

  • 你在任何地方碰巧有[unsafe]吗?很难看出托管代码如何产生这样的错误。无论如何,请发布相关代码,也许你做错了什么。
  • frm.url = "C:\.................html";
  • 似乎与 SO 上的这个问题相似:stackoverflow.com/questions/1915408/… (关于您的问题,SO 上有很多类似的问题......只需搜索它们)。
  • @ElmozamilElamir 尝试提供真实的 URL,而不是本地文件。

标签: c# winforms webbrowser-control access-violation


【解决方案1】:

我尝试关注您的帖子,只有当页面尝试使用 WebBrowser 对象加载一些注册控件时,我才能看到问题。如果页面没有任何控件,则不会发生错误。我可以通过仅在 DEP 异常窗口中禁用此 EXE 来快速解决问题。

您只能在“高级系统属性 > 高级 > 设置 > 数据执行保护”中为您的应用程序禁用 DEP(数据执行保护)设置。

【讨论】:

    猜你喜欢
    • 2010-09-15
    • 1970-01-01
    • 2015-04-22
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 2015-06-25
    • 1970-01-01
    相关资源
    最近更新 更多