2

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

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

4

1 回答 1

4

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

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

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

于 2010-05-30T07:30:25.103 回答