使用ShellExecute通过外部程序一次性打开多个文件
程序员文章站
2022-05-08 12:48:15
...
网上有很多使用ShellExecute打开单个文件的示例,有段时间需要使用到ps一次性打开多张图片,使用方法记录如下
QString PsExePath = g_pConfig->getPsFullPath();
std::wstring operate = QString("runas").toStdWString();//临时提升管理员权限
QString strArg;
for (int i = 0; i < temp_path.size(); i++)
{
strArg += QDir::toNativeSeparators(temp_path[i]);//正斜杠(除法符号/)转反斜杠
if (i != temp_path.size() - 1)
{
strArg = strArg + " ";//每个文件之间用空格分开
}
}
int ret = (int)ShellExecute(nullptr, operate.c_str(), PsExePath.toStdWString().c_str(), strArg.toStdWString().c_str(), nullptr, SW_SHOWNORMAL);
大概就是这样,每个文件路径之间用空格隔开