c++ - 在 IWebBrowser2 OLE 控件中禁用脚本调试? C++

标签 c++ webbrowser-control warnings iwebbrowser2

我有一个 IWebBrowser2,我用它来通过 .Navigate() 访问一些网页 当页面出现 js 错误时,我收到“语法错误”的警告框,因此我使用 .put_Silent(TRUE) 。现在我收到了“VS Just-In-Time Debugger:未处理的异常”的警告

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

最佳答案

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

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

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

关于c++ - 在 IWebBrowser2 OLE 控件中禁用脚本调试? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2936279/

相关文章:

c# - 在 Web 浏览器控件中抓取 Cookie - WP7

javascript - 如何在 Safari 中启用 navigator.hardwareConcurrency?

c# - 如何使 C# 窗体镜像?

ios - 从 'int *' 分配到 'int' 的指针转换不兼容的整数

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

java - JNI,在一个需要另一个的地方使用两个 .so 文件时出错

C++模板模板推断类型参数

c++ - g++ 带有悬空引用的不完整警告行为

c++ - glDrawElements() 在无效情况下返回 GL_INVALID_ENUM

c++ - 如何获取元组元素的位置