欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用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);

大概就是这样,每个文件路径之间用空格隔开