InfoZip 是功能強大的免費 ZIP/UNZIP 函式庫。為方便使用,本文封裝 CInfoZip 類別,提供易用的 InfoZip DLL 介面 (包含壓縮用的 ZIPDLL.DLL 與解壓縮用的 UNZDLL.DLL)。
CInfoZip 標頭與實作檔ZIPDLL.DLL、UNZDLL.DLL 複製至 EXE 同目錄BOOL CInfoZip::InitializeZip(); // 載入壓縮 DLL
BOOL CInfoZip::InitializeUnzip(); // 載入解壓縮 DLL
BOOL CInfoZip::Initialize(); // 同時初始化兩者
成功回傳 TRUE,失敗回傳 FALSE。
BOOL CInfoZip::AddFiles(const char *pszArchive, char **paFiles, int iFileCount);
BOOL CInfoZip::ExtractFiles(const char *pszArchive, const char *pszTargetFolder);
pszArchive:壓縮檔完整路徑paFiles:待壓縮檔案完整路徑陣列iFileCount:檔案數量pszTargetFolder:解壓縮目標資料夾BOOL CInfoZip::SetDefaultValues(CZipParams *pParams);
BOOL CInfoZip::SetDefaultValues(CUnzipParams *pParams);
BOOL CInfoZip::Execute(CZipParams *pParams);
BOOL CInfoZip::Execute(CUnzipParams *pParams);
建立 CZipParams/CUnzipParams 結構,調用 SetDefaultParams 修改參數,再呼叫 Execute 執行。
BOOL CInfoZip::FinalizeZip();
BOOL CInfoZip::FinalizeUnzip();
BOOL CInfoZip::Finalize();
CInfoZip 封裝了 InfoZip DLL 的複雜操作,讓 MFC 專案能輕鬆整合 ZIP 功能,適合需快速加入壓縮功能的專案。