如果软件具有管理员权限。请略过
使用QProcess
如果不具有管理员权限
启动可执行文件,在Debug和Release中没有问题,但是如果可执行文件启动需要管理员权限,调用函数startDetached,win10/11去要在点击用户账户控制弹窗
当使用Inno Setup进行软件打包后,软件安装启动可执行文件无法启动
解决方案:不使用QProcess启动,使用cmd.exe
QString current_path = QApplication::applicationDirPath(); QProcess* program = new QProcess(); QString path = QString(current_path) + "\\XXX.exe"; program->start("cmd.exe"); program->write("start XXX.exe\n"); if (program->waitForStarted()) { std::cout << "start XXX.exe" << std::endl; } else { std::cout << "start XXX.exe error" << std::endl; }
推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt