Qt5复制(复制)可执行文件

时间:2018-06-11 15:43:41

标签: c++ qt

Qt的新手。如果这个问题太天真,请承担责任。 在Windows操作系统环境中,我有Qt Dialog框架应用程序,它具有"复制" - 按钮。在同一目录中,有Qt应用程序 - (带关闭按钮的Dialog小部件)A1.exe。现在,在单击Duplicate按钮后,想要复制A1 exe并将其重命名为B1.exe(在运行中)在同一目录中并执行它。

所以,最后两个Qt应用程序(A1 exe和B2)运行直到手动取消它。经过简短的研究,似乎有2个optoin要做 - QFile复制或QProcess。或任何其他方法?欣赏任何快速(详细的)思想! 感谢

2 个答案:

答案 0 :(得分:1)

假设您对存储可执行文件的任何位置具有写入权限,这是一个坏主意。在大多数现代操作系统上,安装应用程序需要授予临时提升权限。特别是在Windows上,您根本无法假定对安装位置的写入权限。无论如何,您不需要复制可执行文件。你为什么这样?如果您考虑修改可执行文件:抱歉,这也不起作用。无论你部署到什么平台,你都必须签署你的可执行文件(linux也有包签名!)。修改会破坏事物。只是不要。

答案 1 :(得分:1)

char name = 'A';
do {
INCREMENT NAME...
} while ( name + 1.exe ) exists...

然后执行qfile从原始文件复制到循环中创建的新文件路径。从qw qprocess开始就是你想要的。