【问题标题】:Disable script debugging in IWebBrowser2 OLE control? C++在 IWebBrowser2 OLE 控件中禁用脚本调试? C++
【发布时间】:2010-05-29 19:13:30
【问题描述】:

我有一个 IWebBrowser2 我用 .Navigate() 访问一些网页 当页面出现 js 错误时,我收到“语法错误”的警告框,所以我使用了.put_Silent(TRUE)。现在我收到“VS Just-In-Time Debugger: Unhandled exception”的警告

如何从我的代码中禁用所有脚本错误警告(包括 JIT 调试器)(我的意思是不修改真正的 IE 设置)?强>

【问题讨论】:

  • 我还尝试在 Release Property Pages > C/C++ > General 中设置“关闭所有警告”,但我仍然收到调试器警告。

标签: c++ webbrowser-control warnings iwebbrowser2


【解决方案1】:

您可以通过覆盖控制它的注册表设置来禁用脚本调试。正确的方法是实现IDocHostUIHandler 接口,特别是IDocHostUIHandler::GetOptionKeyPathIDocHostUIHandler::GetOverrideKeyPath 方法。使用 GetOptionKeyPath 忽略所有用户的 IE 设置(例如,字体大小)并使用 IE 默认值,或使用 GetOverrideKeyPath 使用大部分用户的 IE 设置但覆盖一些特定设置。

上面链接的 MSDN 文章包含有关如何使用此接口的良好文档,以及 IDocHostUIHandler 接口及其方法的示例实现。

假设您的 GetOptionKeyPath 方法返回 "SOFTWARE\MyCompany\MyApp\IE" 作为新的注册表路径。要确保禁用脚本调试,您需要创建HKEY_CURRENT_USER\Software\MyCompany\MyApp\IE\Main 注册表项,然后创建一个名为Disable Script Debugger 的字符串值,其值为yes

【讨论】:

    猜你喜欢
    • 2019-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    相关资源
    最近更新 更多