如何从 qt 应用程序 (c++) 打开可执行文件

Posted

技术标签:

【中文标题】如何从 qt 应用程序 (c++) 打开可执行文件【英文标题】:How can i open an executable from an qt application (c++) 【发布时间】:2021-04-23 10:28:00 【问题描述】:

我使用了那个解决方案,但它看起来只能从目标 %windir%\system32\ 启动一个 exe,比如记事本、写字板等。

例如,我想启动 Mozilla 或 Chrome 或任何其他不在该目标中的程序。

void MainWindow::on_pushButton_clicked()

    QProcess *proc = new QProcess(this);
    proc->start("notepad.exe");

【问题讨论】:

您需要指定完整路径。 notepad.exe 有效,因为它们的路径位于 PATH 环境变量中。 只定义可执行文件的绝对路径:像C:\\Program Files\\Mozilla\\Firefox\\firefox.exe(我现在没有Windows,所以firefox.exe的路径可以不同)。 谢谢。但是如果我在 PATH 环境变量中添加 Mozilla 路径,它应该可以工作吗? 【参考方案1】:

这更多地与操作系统的工作方式有关。使用 cmd 和 type 命令时,您实际上执行的是路径中的程序(如 system32)。没有办法执行不在路径位置且您不知道位置的程序,除非您想实现搜索功能。

【讨论】:

以上是关于如何从 qt 应用程序 (c++) 打开可执行文件的主要内容,如果未能解决你的问题,请参考以下文章

qt多个工程之间调用

使用 Qt 的程序,OpenCV 从 VS 启动时运行良好,但在使用 OpenCV 功能时运行可执行文件通常会崩溃

C++ 可执行文件仅从 Visual Studio 启动

带有 Qt 的 SQLite 数据库无法发布可执行文件

Qt打包成exe可执行可移植文件

Qt打包成exe可执行可移植文件