我正在尝试使用 Firebreath 框架开发浏览器插件。我想要实现的第一件事是使插件能够进行跟踪路由。现在我在 Windows7 上做。目前我选择使用 Win32API CreateProcess 来调用命令 shell。通过设置 dwFlags = STARTF_USESHOWWINDOW ,我可以在执行期间隐藏命令 shell 窗口。
问题: createProcess 是在一个名为 run() 的方法中实现的,我使用 JS 调用它进行测试。当我调用 plugin().run() 时,traceroute 运行良好,并且输出成功地写入了我想要的文本文件。然而,在执行过程中,浏览器变得无响应,最后插件在 traceroute 完成几秒钟后崩溃。由于我是插件开发的新手,对 c++ 了解不多,我想知道为什么会出现这个问题。仅供参考,如果我没有隐藏命令外壳窗口,插件会产生奇迹——在执行 traceroute 时浏览器会响应。