mfc解压7z文件不使用dll
时间: 2023-11-30 18:03:40 浏览: 80
在 MFC 中解压 7z 文件可以使用 7-Zip 的命令行工具 "7z.exe" 来实现,而不需要使用 DLL 文件。
以下是一个示例代码:
```cpp
// 要解压的 7z 文件路径
CString filePath = "D:\\test.7z";
// 解压目标路径
CString targetPath = "D:\\test\\";
// 构造命令行参数
CString cmdLine;
cmdLine.Format(_T("x \"%s\" -o\"%s\""), filePath, targetPath);
// 执行命令行
STARTUPINFO si = { 0 };
PROCESS_INFORMATION pi = { 0 };
si.cb = sizeof(si);
if (CreateProcess(NULL, cmdLine.GetBuffer(cmdLine.GetLength()), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
{
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
```
该代码使用了 Windows API 中的 "CreateProcess" 函数来创建一个新的进程,然后执行命令行参数。
其中,参数 "-x" 表示解压缩,参数 "-o" 表示指定解压缩目标路径。
需要注意的是,7-Zip 命令行工具需要在系统中安装,并且需要将其路径添加到系统环境变量中,才能正确执行。
阅读全文