Firebreath フレームワークを使用してブラウザ プラグインを開発しようとしています。私が達成したい最初のことは、プラグインが traceroute を実行できるようにすることです。今のところWindows7でやっています。現在、Win32API CreateProcess を使用してコマンド シェルを呼び出すことにしました。dwFlags = STARTF_USESHOWWINDOW を設定することで、実行中にコマンド シェル ウィンドウを非表示にすることができます。
問題 : createProcess は run() というメソッドに実装されており、テストのために JS を使用して呼び出しました。plugin().run() を呼び出したところ、traceroute は正常に機能しており、出力は意図したとおりにテキスト ファイルに正常に書き込まれました。ただし、実行中にブラウザが応答しなくなり、traceroute が完了してからプラグインが最後にクラッシュしました。私はプラグイン開発が初めてで、 c++ に関する知識がほとんどないため、なぜこの問題が発生したのだろうか。参考までに、コマンドシェル ウィンドウを非表示にしなかった場合、プラグインは驚異的に機能しました。traceroute の実行中、ブラウザは応答していました。