C++ 是否在IWebBrowser2 OLE控件中禁用脚本调试?C++;

C++ 是否在IWebBrowser2 OLE控件中禁用脚本调试?C++;,c++,webbrowser-control,warnings,iwebbrowser2,C++,Webbrowser Control,Warnings,Iwebbrowser2,我有一个IWebBrowser2,用来访问一些网页。导航() 当页面出现js错误时,我得到了一个“语法错误”的警告框,所以我使用了。现在我得到了一个警告“VS即时调试器:未处理异常” 如何从代码中禁用所有脚本错误警告(包括JIT调试器)(我的意思是在不修改实际IE设置的情况下)?您可以通过覆盖控制脚本调试的注册表设置来禁用脚本调试。正确的方法是实现接口,特别是or方法。使用GetOptionKeyPath忽略所有用户的IE设置(例如,字体大小)并使用IE默认值,或使用GetOverrideKey

我有一个IWebBrowser2,用来访问一些网页。导航() 当页面出现js错误时,我得到了一个“语法错误”的警告框,所以我使用了。现在我得到了一个警告“VS即时调试器:未处理异常”


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

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

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

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

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