先取到所要启动exe的绝对路径,比如: C:\Test\update.exe
也要得到exe所存在的目录路径,比如: C:\Test
1.先用Qt实现
QString path = "C:\\Test\\update.exe";
QString runPath = "C:\\Test";
QProcess *process = new QProcess;
process->setWorkingDirectory(runPath);
process->start("\"" + path + "\"");
但如果update.exe是有管理员权限的程序,那么上面的代码将无法运行起update.exe
有管理员权限的exe,就要用以下的代码。
2.用ShellExecuteEx
QString path = "C:\\Test\\update.exe";
QString runPath = "C:\\Test";
BPtr<char> updateFilePath = (