在项目中如果遇到7z文件时,可以使用命令行的方式解压处理。
首先,7z命令行的使用可以参考这篇文章:https://www.cnblogs.com/Frank99/p/5951177.html。
然后我们可以在代码中使用ShellExecuteEx来调用7z命令行解压文件,示例代码如下:
SHELLEXECUTEINFO ShExecInfo;
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = _T("open");
ShExecInfo.lpFile = _7z_exe_path; // 7z程序的路径
ShExecInfo.lpParameters = cmd_line_param; // 7z解压的命令行参数
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_HIDE; // 不显示窗体
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&am