⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wiz.h

📁 有关zip的一个开发实例。主要包括图片和程序源代码。
💻 H
字号:
/* WiZ 4.0 header file*/#ifndef _WIZ_H#define _WIZ_H#include <windows.h>#include <assert.h>    /* required for all Windows applications */#include <stdlib.h>#include <stdio.h>#include <commdlg.h>#include <dlgs.h>#ifdef WIN32#include <windowsx.h>#define NOIMAGEAPIS#define NOTREEVIEW#include <commctrl.h>  /* for ListView controls */#include <richedit.h>  /* for RichEdit controls */#endif#include "resource.h"#include "unzip\windll\structs.h"#include "zip\windll\structs.h"/* Defines */#ifndef MSWIN#define MSWIN#endif/* Porting definitions between Win 3.1x and Win32 */#ifdef WIN32#  undef far#  undef _far#  undef __far#  undef near#  undef _near#  undef __near#  undef FAR#  define far#  define _far#  define __far#  define near#  define _near#  define __near#  define FAR#  ifndef Far#     define Far far#  endif#endif/* Allow compilation under Borland C++ also */#ifndef __based#define __based(A)#endif/* * MW: * The following is to take care of some of the porting problems between * Win 3.1 and Win32 for WM_COMMAND notifications.*/#ifdef WIN32#define GET_WM_COMMAND_CMD(wp, lp) HIWORD(wp)#else#define GET_WM_COMMAND_CMD(wp, lp) HIWORD(lp)#endif#ifdef WIN32#define EDIT_BUF_SIZE     0x10001L#else#define EDIT_BUF_SIZE     0x7001#endif#define FILENAME_BUF_SIZE 0x10000L/* These two are dependent on zip directory listing format string. * They help find the filename in the listbox entry. */#define SHORT_FORM_FNAME_INX     26#define LONG_FORM_FNAME_INX      40#define MIN_SHORT_FORMAT_CHARS (SHORT_FORM_FNAME_INX+12)#define MIN_LONG_FORMAT_CHARS (LONG_FORM_FNAME_INX+12)/* Arbitrary Constants */#define BG_SYS_COLOR COLOR_GRAYTEXT /* background color is a system color *//* Main window menu item positions */#define EDIT_MENUITEM_POS         1   /* edit menu position in main menu */#define HELP_MENUITEM_POS         5   /* the Help menu                */#define TABSTOP_ID_BASE IDM_LISTBOX/* Help Window Menu and Message ID's */#define INDEX_MENU_ITEM_POS       0#define IDM_FORWARD             100#define IDM_BACKWARD            101#define BTNWIDTH        3.0#define MIN_BTN_WIDTH   1.5#ifdef MAX_BUTTONS#define NUMOFBUTTONS 23#else#define NUMOFBUTTONS 15#endif#ifndef NDEBUG#  define WinAssert(exp) \        {\        if (!(exp))\            {\            char szBuffer[40];\            sprintf(szBuffer, "File %s, Line %d",\                    __FILE__, __LINE__) ;\            if (IDABORT == MessageBox((HWND)NULL, szBuffer,\                "Assertion Error",\                MB_ABORTRETRYIGNORE|MB_ICONSTOP))\                    FatalExit(-1);\            }\        }#else#  define WinAssert(exp)#endif#define cchFilesMax 4096/* Zip Flags */extern BOOL fSaveZipToDir;extern BOOL fSaveUnZipFromDir;extern BOOL fMakeDosSFX;/* Toolbar button structure */typedef struct BUTTON_STRUCT{int    idBtn;LPCSTR ButtonHelp;LPCSTR hBMP;HWND   hWndBtn;} BUTTON, *LPBUTTON;/* Unzip Miscellaneous Buffers */typedef struct{char szFileName[PATH_MAX]; /* fully-qualified archive file name in OEM char set */char szZipFileName[PATH_MAX]; /* fully-qualified archive file name in OEM char set */char szDirName[PATH_MAX];  /* directory of archive file in ANSI char set */char szUnzipToDirNameTmp[PATH_MAX]; /* temp extraction ("unzip to") directory name in ANSI */char szUnzipFromDirName[PATH_MAX];  /* extraction ("unzip from") directory name in ANSI */char szBuffer[PATH_MAX];  /* option strings from .INI, & gen'l scratch buf */char szSoundName[PATH_MAX];/* wave file name or sound from WIZ.INI [sounds] in ANSI */char szPassword[81];LPSTR lpPasswordStr;OPENFILENAME ofn;OPENFILENAME wofn;                  /* wave open file name struct */MSG msg;OFSTRUCT of;                        /* archive open file struct */OFSTRUCT wof;                       /* wave open file struct   */} UMB, __far *LPUMB;/* Unzip Flags */typedef struct{BOOL fRecreateDirs;BOOL fShowBubbleHelp;BOOL fTranslate;BOOL fSaveUnZipToDir;BOOL fSaveUnZipFromDir;BOOL fFormatLong;BOOL fUnzipToZipDir;BOOL fBeepOnFinish;BOOL fDoAll;BOOL fIconSwitched;BOOL fHelp;BOOL fCanDragDrop;BOOL fTrailingSlash;BOOL fPromptToOverwrite;} UF, *PUF;#ifndef USE_UNZIP_LIBtypedef int (WINAPI * _DLL_UNZIP)(int, char **, int, char **, LPDCL, LPUSERFUNCTIONS);typedef int (WINAPI * _USER_FUNCTIONS)(LPUSERFUNCTIONS);typedef BOOL (WINAPI * _DLL_UNZVAL)(char *, int);#endif#ifndef USE_ZIP_LIBtypedef int (WINAPI * _ZIP_USER_FUNCTIONS)(LPZIPUSERFUNCTIONS);typedef int (WINAPI * _DLL_ZIP)(ZCL);typedef BOOL (WINAPI * ZIPSETOPTIONS)(ZPOPT);typedef ZPOPT (WINAPI * ZIPGETOPTIONS)(void);#endif/* Global variables */extern LPUSERFUNCTIONS lpUserFunctions;extern LPZIPUSERFUNCTIONS lpZipUserFunctions;extern RECT MainRc;  /* Used only to remember window position/size */extern LPUMB lpumb;extern LPDCL lpDCL;extern ZPOPT ZpOpt;extern int argc;extern char **argv;extern DWORD dwEditBufSize;extern ZCL ZpZCL;extern BOOL fMakeSFX;extern HINSTANCE hUnzipDll;extern HINSTANCE hZipDll;extern HWND hGetFilesDlg;extern char szFilesToAdd[];extern char rgszFiles[cchFilesMax];extern HANDLE hInst;extern HWND hWndMain;extern HANDLE hEditor;extern LPSTR pszBuffer;extern int Width, Height;extern int BtnSeparator;extern float BtnMult;/* Miscellaneous Buffers */#ifndef WIN32extern short dxChar, dyChar;    /* size of char in SYSTEM font in pixels    */#elseextern long dxChar, dyChar;    /* size of char in SYSTEM font in pixels    */#endifextern HANDLE hFixedFont;extern HWND hWndComment;        /* comment window */extern HWND hWndList;       /* listbox handle */extern HWND hWndButtonBar; /* Button bar handle */extern HWND hWndMain;        /* the main window handle. */extern HWND hExtract;           /* extract button  */extern HWND hDisplay;           /*display button   */extern HWND hTest;              /* test button     */extern HWND hZipInfo;           /* Zip Info button */extern HWND hShowComment;       /* show comment button */extern HWND hExit;extern HWND hMakeDir;extern HWND hSelectAll;extern HWND hDeselectAll;extern HWND hSelectPattern;extern HWND hClearStatus;extern HWND hUnzipToDir;extern HWND hHelp;extern HWND hOpen;extern HWND hArchive;extern HWND hCopyArchive;extern HWND hMoveArchive;extern HWND hRenameArchive;extern HWND hDeleteArchive;extern HWND hStatusButton;extern HWND hPatternSelectDlg; /* pattern select modeless dialog   */extern HANDLE hInst;                       /* current instance */extern HMENU  hMenu;                /* main menu handle         */extern HANDLE hAccTable;extern HANDLE hHourGlass;             /* handle to hourglass cursor      */extern HANDLE hSaveCursor;            /* current cursor handle       */extern HANDLE hHelpCursor;          /* help cursor              */extern HANDLE hFixedFont;           /* handle to fixed font             */extern HANDLE hOldFont;         /* handle to old font               */extern int hFile;                 /* file handle             */extern HWND hWndList;             /* list box handle        */extern HWND hWndEdit;     /* status   */extern HWND hWndStatic;extern BOOL bRealTimeMsgUpdate; /* update messages window in real-time */extern BOOL gfCancelDisplay;   /* cancel ongoing display operation */extern UF uf;extern int fLB_Selection;extern char szTargetDirName[];extern LPSTR lpchLast;extern WPARAM wLBSelection;   /* default listbox selection action */extern WPARAM wWindowSelection; /* window selection: listbox, status, both   */extern HBRUSH hBrush ;          /* brush for  standard window backgrounds  */extern char __based(__segname("STRINGS_TEXT")) szCantChDir[];extern char __based(__segname("STRINGS_TEXT")) szCantCopyFile[];extern char __based(__segname("STRINGS_TEXT")) szAppName[];     /* application name             */extern char __based(__segname("STRINGS_TEXT")) szDefaultUnzipToDir[]; /* default Unz_SingleEntryPoint to dir */extern char __based(__segname("STRINGS_TEXT")) szDefaultUnzipFromDir[]; /* default Unz_SingleEntryPoint from dir */extern char __based(__segname("STRINGS_TEXT")) szLBSelectionKey[];  /* LBSelection keyword in .INI */extern char __based(__segname("STRINGS_TEXT")) szNoMemory[] ;       /* error message            */extern char __based(__segname("STRINGS_TEXT")) szHelpFileName[];        /* help file name                       */extern char __based(__segname("STRINGS_TEXT")) szWiZIniFile[];   /* WiZ Private .INI file */extern char __based(__segname("STRINGS_TEXT")) szZipOptionKey[];extern char __based(__segname("STRINGS_TEXT")) szZipToDirKey[];extern char __based(__segname("STRINGS_TEXT")) szTargetZipDir[];extern char __based(__segname("STRINGS_TEXT")) szUnzipToDirName[PATH_MAX];    /* extraction ("Unz_SingleEntryPoint to") directory name in ANSI */extern char * Headers[];        /* headers to display */extern DWORD dwCommDlgHelpId;   /* what to pass to WinHelp() */#ifdef WIN32extern DWORD dwPlatformId;      /* True if running on NT */#endif/* List box stuff */extern WORD cZippedFiles;       /* total personal records in file   */extern WORD cListBoxLines; /* max list box lines showing on screen */extern WORD cLinesMessageWin; /* max visible lines on message window  *//* Global functions */#ifndef USE_UNZIP_LIBextern _DLL_UNZIP Unz_SingleEntryPoint;extern _USER_FUNCTIONS UzInit;extern _DLL_UNZVAL Unz_Validate;#else#define Unz_SingleEntryPoint windll_unzip#define UzInit Unz_Init#define Unz_Validate UzpValidate#endif#ifndef USE_ZIP_LIBextern _DLL_ZIP ZipArchive;extern _ZIP_USER_FUNCTIONS ZipInit;extern ZIPSETOPTIONS ZipSetOptions;extern ZIPGETOPTIONS ZipGetOptions;#else#define ZipArchive ZpArchive#define ZipInit ZpInit#define ZipSetOptions ZpSetOptions#define ZipGetOptions ZpGetOptions#endifint match (char *, char *, int);          /* in match.c */int __far __cdecl BufferOut(const char *format, ...);void SetCaption(HWND);void Action(HWND, WPARAM);void CenterDialog(HWND, HWND);void CopyStatusToClipboard(HWND);void DisplayComment(HWND);int CLBItemsGet(HWND, int __far * __far *, HANDLE *);void ReselectLB(HWND, int, int __far *);void InitSoundOptions(void); /* initialize sound options (sound.c)   */void MigrateSoundOptions(void); /* translate beep into new option (sound.c) */void SizeWindow(void);void SoundAfter(void);void WINAPI SoundDuring(void);void UpdateButtons(void);void UpdateListBox(void);void UpdateMsgWndPos(void);BOOL WiZInit(HANDLE);void WriteBufferToMsgWin(LPSTR, int, BOOL);void WriteStringToMsgWin(PSTR, BOOL);int WINAPI DisplayBuf(char far *, unsigned long int);void CopyArchive(HWND, BOOL, BOOL);void GetDirectory(LPSTR);BOOL MakeDirectory(char *, BOOL);LPSTR lstrrchr(LPSTR lpszSrc, char chFind);void MoveButtons(void);void CreateButtonBar(HWND);void FindFile(char *, char *, HWND);void DoADir(char *, char *, char *, HWND, char);BOOL FnMatch(char *, char *);int WINAPI GetReplaceDlgRetVal(char *);void WriteZipOptionsProfile(void);void GetWizOptions(void);void StripDirectory(LPSTR lpDir);void MakeArchive(HWND hWnd);int WINAPI password(LPSTR, int, const LPSTR, const LPSTR);LPSTR WINAPI comment(LPSTR);BOOL IsValidArchive(LPSTR);/* Procedure Calls */BOOL WINAPI AboutProc(HWND, WORD, WPARAM, LPARAM);BOOL WINAPI SelectDirProc(HWND, WORD, WPARAM, LPARAM);BOOL WINAPI CopyFileProc(HWND, WORD, WPARAM, LPARAM);BOOL WINAPI PatternSelectProc(HWND, WORD, WPARAM, LPARAM);BOOL WINAPI ReplaceProc(HWND, WORD, WPARAM, LPARAM);BOOL WINAPI SoundProc(HWND, WORD, WPARAM, LPARAM);BOOL WINAPI RenameProc (HWND, WORD, WPARAM, LPARAM);BOOL WINAPI MakeDirProc(HWND, WORD, WPARAM, LPARAM);LONG WINAPI ButtonBarWndProc(HWND, UINT, WPARAM, LPARAM);BOOL CALLBACK CommentBoxProc(HWND, WORD, WPARAM, LPARAM);void ZipWndProc(HWND, WORD, WPARAM, LPARAM);BOOL WINAPI GetFilesProc(HWND, WORD, WPARAM, LPARAM);BOOL WINAPI GetDirProc(HWND, WORD, WPARAM, LPARAM);BOOL WINAPI GetDateProc(HWND, WORD, WPARAM, LPARAM);DWORD WINAPI UnZipPreferencesProc(HWND, WORD, WPARAM, LPARAM);DWORD WINAPI ZipPreferencesProc(HWND, UINT, WPARAM, LPARAM);void WINAPI ReceiveDllMessage(unsigned long,unsigned long,   ush, ush, ush, ush, ush, ush, char, char *, char *, unsigned long, char);BOOL WINAPI GrepArchiveProc(HWND, WORD, WPARAM, LPARAM);void SearchArchive(LPSTR);void GetArchiveDir(LPSTR lpszDestDir);#ifdef WIN32void ListViewSetSel(int, BOOL);  /* Only used for ListView control */void ListViewSortOnColumns(int); /* Only used for ListView sorting */#endif#endif /* _WIZ_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -