【发布时间】:2015-08-14 13:20:08
【问题描述】:
我正在使用 Qt 在 Windows8 中开发一个应用程序,我需要为它创建一个更新程序。我已经编写了更新下载器部分,以及一个更新脚本,用新下载的数据替换所有以前的内容。
现在我需要从应用程序本身执行 bat 文件,并在脚本执行之前退出应用程序,因为脚本将删除我当前正在运行的所有 dll 和应用程序二进制文件。
我该如何解决这个问题?
谢谢 哈里斯
【问题讨论】:
标签: c++ qt batch-file window
我正在使用 Qt 在 Windows8 中开发一个应用程序,我需要为它创建一个更新程序。我已经编写了更新下载器部分,以及一个更新脚本,用新下载的数据替换所有以前的内容。
现在我需要从应用程序本身执行 bat 文件,并在脚本执行之前退出应用程序,因为脚本将删除我当前正在运行的所有 dll 和应用程序二进制文件。
我该如何解决这个问题?
谢谢 哈里斯
【问题讨论】:
标签: c++ qt batch-file window
您可以使用QProcess::startDetached 在新进程中以批处理文件作为参数运行命令提示符实例并从中分离。之后,您应该退出应用程序:
QProcess::startDetached("cmd.exe", QStringList() << "/c" << "path\\to\\mybat.bat");
qApp->quit();
【讨论】: