IWEBBROWSER2 OLEコントロールでスクリプトデバッグを無効にしますか? C ++
-
05-10-2019 - |
質問
iwebbrowser2があります。.navigate()を備えたいくつかのWebページにアクセスします。ページにjsエラーがある場合、「構文エラー」の警告ボックスがありますので、使用しました。 .put_silent(true). 。そして今、私は代わりに「vsジャストインタイムデバッガー:未処理の例外」について警告を受けます
すべてのスクリプトエラー警告を無効にするにはどうすればよいですか (JITデバッガーを含む) 私のコードから (実際の設定を変更することなく)?
解決
それを制御するレジストリ設定をオーバーライドすることにより、スクリプトデバッグを無効にできます。これを行う正しい方法は、 idochostuihandler インターフェイス、特に idochostuihandler :: getoptionkeypath また idochostuihandler :: GetOverRideKeypath 方法。 getoptionKeypathを使用して、すべてのユーザーのIE設定(フォントサイズなど)を無視し、IEのデフォルトを使用するか、ユーザーのほとんどの設定を使用してGetOverRideKeypathを使用しますが、いくつかの特定の設定をオーバーライドします。
上記のMSDN記事には、このインターフェイスの使用方法に関する優れたドキュメントと、Idochostuihandlerインターフェイスとその方法の実装のサンプルが含まれています。
getoptionkeypathメソッドが戻ってくるとします "SOFTWARE\MyCompany\MyApp\IE"
新しいレジストリパスとして。スクリプトのデバッグが無効になっていることを確認するには、 HKEY_CURRENT_USER\Software\MyCompany\MyApp\IE\Main
レジストリキー、次に名前の文字列値を作成します Disable Script Debugger
価値を持っています yes
.