荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: Deny (Deny), 信区: Visual
标 题: [转载] 使用 Winzip 的 dll 压缩文件(1)(转寄)
发信站: BBS 荔园晨风站 (Sat Dec 23 23:28:32 2000), 转信
【 以下文字转载自 Deny 的信箱 】
【 原文由 denick.bbs@smth.org 所发表 】
发信人: gBoy (DD), 信区: VisualC
标 题: 使用 Winzip 的 dll 压缩文件(1)
发信站: BBS 水木清华站 (Wed Dec 20 17:00:59 2000)
// winzip 类的头文件
// winzip.h
#pragma once
#define WINZIP_NOCOMPRESS 0
#define WINZIP_COMPRESS 1
#define WINZIP_FASTEST 1
#define WINZIP_FAST 2
#define WINZIP_NORMAL 4
#define WINZIP_EXTRA 8
#define WINZIP_ADD 1
#define WINZIP_UPDATE 2
#define WINZIP_FRESHEN 3
#define WINZIP_DELETE 4
typedef struct
{
DWORD un1;
BOOL bRecurseSubdir;
BOOL bMoveFile;
BOOL bStorePathnames;
DWORD dwCompress; // 0xFFFFFFFF 压缩, 0 不压缩
DWORD dwCompressMethod;
DWORD dwCommand;
DWORD un8;
LPCTSTR sZipname;
DWORD un9;
DWORD un10;
DWORD un11;
LPVOID sFnameToZip;
DWORD un12;
DWORD un13;
BOOL bDOS83Name;
DWORD un15;
DWORD un16;
BOOL bUsePassword;
LPCTSTR sPassword;
BOOL bIncludeSysHide;
BOOL bOnlyArchiveFile;
BOOL bResetArchiveAttrib;
DWORD un22;
BYTE un23[0x30];
} ZIPDATA, *LPZIPDATA;
typedef struct {
DWORD un1;
DWORD un2; // 1 (0)
BOOL bListFile; // 0 (1)
DWORD un4; // 1 (0)
DWORD un5;
BOOL bNotRestoreDir;
DWORD un6;
BOOL bOverwrite;
DWORD un7;
DWORD un8; // 1 (0)
DWORD un9;
DWORD un10;
DWORD un11;
DWORD un12;
BOOL bSkipOlderFiles;
DWORD un13;
BOOL bUsePassword;
LPCTSTR sPassword;
BOOL bExtractAllFiles;
LPCTSTR sZipName;
LPCTSTR sExtractPath;
LPCTSTR *sFilenamesExtracting;
DWORD un17;
DWORD nExtractFile;
DWORD un19;
DWORD un20;
DWORD un21; // 0x1E4 ???
DWORD un22;
DWORD un23;
DWORD un24; // 1 (0)
DWORD un25;
DWORD un26; // 1 (0)
DWORD un27;
DWORD un28;
DWORD un29;
} UNZIPDATA, *LPUNZIPDATA;
typedef struct {
WORD un1;
WORD un2;
WORD un3;
WORD un4;
WORD un5;
DWORD CRC;
DWORD CompressSize;
DWORD OriginSize;
} ZIPFILEINFO, *LPZIPFILEINFO;
typedef DWORD (*ZipCallbackFun)();
typedef DWORD (*ZipInitFun)(ZipCallbackFun , ZipCallbackFun ,
ZipCallbackFun , ZipCallbackFun , ZipCallbackFun ,
ZipCallbackFun , ZipCallbackFun , ZipCallbackFun ,
ZipCallbackFun , ZipCallbackFun , ZipCallbackFun ,
ZipCallbackFun , ZipCallbackFun , ZipCallbackFun ,
ZipCallbackFun , LPCTSTR );
typedef DWORD (*UnZipInitFun)(ZipCallbackFun , ZipCallbackFun ,
ZipCallbackFun , ZipCallbackFun , ZipCallbackFun ,
ZipCallbackFun , ZipCallbackFun , ZipCallbackFun ,
ZipCallbackFun , ZipCallbackFun , ZipCallbackFun ,
ZipCallbackFun , LPCTSTR );
typedef BOOL (*ZipFun)(LPZIPDATA);
typedef BOOL (*UnZipFun)(LPUNZIPDATA);
typedef DWORD (*ExtractCallbackFun) (LPCTSTR sFname);
typedef DWORD (*ListFileCallbackFun) (LPZIPFILEINFO pFileInfo, LPCTSTR sFnam
e);
typedef struct tagFNAMES
{
LPCTSTR sNextFname;
char sFname[MAX_PATH];
} FNAMES;
class CWinzip
{
protected:
HINSTANCE m_hDll;
public:
CWinzip();
~CWinzip();
BOOL LoadDll(LPCTSTR sDllFname);
void UnloadDll();
BOOL Zip(LPZIPDATA zipdata);
BOOL Unzip(LPUNZIPDATA unzipdata, ExtractCallbackFun cbfExtractF);
BOOL ListFile (LPUNZIPDATA unzipdata, ListFileCallbackFun cbfListFile);
};
--
大风起兮大风起兮
云飞扬 云飞扬
威加海内兮威加海内兮
归故乡 归故乡
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.118.6.22]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.114]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店