which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			158 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| //******************************************************************************
 | |
| //
 | |
| // File:        WINMAIN.H
 | |
| //
 | |
| // Description: This module contains all the Windows specific decalrations for
 | |
| //              Pocket UnZip.  See WINMAIN.CPP for a more detailed description
 | |
| //              and the actual implementation.
 | |
| //
 | |
| // Copyright:   All the source files for Pocket UnZip, except for components
 | |
| //              written by the Info-ZIP group, are copyrighted 1997 by Steve P.
 | |
| //              Miller.  The product "Pocket UnZip" itself is property of the
 | |
| //              author and cannot be altered in any way without written consent
 | |
| //              from Steve P. Miller.
 | |
| //
 | |
| // Disclaimer:  All project files are provided "as is" with no guarantee of
 | |
| //              their correctness.  The authors are not liable for any outcome
 | |
| //              that is the result of using this source.  The source for Pocket
 | |
| //              UnZip has been placed in the public domain to help provide an
 | |
| //              understanding of its implementation.  You are hereby granted
 | |
| //              full permission to use this source in any way you wish, except
 | |
| //              to alter Pocket UnZip itself.  For comments, suggestions, and
 | |
| //              bug reports, please write to stevemil@pobox.com.
 | |
| //
 | |
| //
 | |
| // Date      Name          History
 | |
| // --------  ------------  -----------------------------------------------------
 | |
| // 02/01/97  Steve Miller  Created (Version 1.0 using Info-ZIP UnZip 5.30)
 | |
| //
 | |
| //******************************************************************************
 | |
| 
 | |
| #ifndef __WINMAIN_H__
 | |
| #define __WINMAIN_H__
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| //******************************************************************************
 | |
| //***** Constants / Macros
 | |
| //******************************************************************************
 | |
| 
 | |
| #define MRU_MAX_FILE                       4  // Should not exceed 9
 | |
| #define MRU_START_ID                     501
 | |
| 
 | |
| #define WM_PRIVATE                    0x9999
 | |
| #define MSG_SUBCLASS_DIALOG                1
 | |
| #define MSG_INIT_DIALOG                    2
 | |
| #define MSG_ADD_TEXT_TO_EDIT               3
 | |
| #define MSG_PROMPT_TO_REPLACE              4
 | |
| #define MSG_PROMPT_FOR_PASSWORD            5
 | |
| #define MSG_UPDATE_PROGRESS_PARTIAL        6
 | |
| #define MSG_UPDATE_PROGRESS_COMPLETE       7
 | |
| #define MSG_OPERATION_COMPLETE             8
 | |
| 
 | |
| #define IDC_SAVE_FILE_LIST                12
 | |
| #define IDC_SAVE_NAME_PROMPT            1023
 | |
| #define IDC_SAVE_NAME_EDIT              1021
 | |
| #define IDC_SAVE_TYPE_PROMPT            1022
 | |
| #define IDC_SAVE_TYPE_LIST              1020
 | |
| 
 | |
| #define PROGRESS_MAX                   32768
 | |
| 
 | |
| #define FILE_ATTRIBUTE_VOLUME     0x00000008
 | |
| #define FILE_ATTRIBUTE_ENCRYPTED  0x10000000
 | |
| #define FILE_ATTRIBUTE_COMMENT    0x20000000
 | |
|  
 | |
| #define IMAGE_VOLUME                       0
 | |
| #define IMAGE_FOLDER                       1
 | |
| #define IMAGE_APPLICATION                  2
 | |
| #define IMAGE_GENERIC                      3
 | |
| 
 | |
| 
 | |
| #ifndef LVS_EX_FULLROWSELECT
 | |
| #define LVS_EX_FULLROWSELECT      0x00000020
 | |
| #endif
 | |
| 
 | |
| // LVM_SETEXTENDEDLISTVIEWSTYLE came after VC 4.0
 | |
| #ifndef LVM_SETEXTENDEDLISTVIEWSTYLE
 | |
| #define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST + 54)
 | |
| #endif
 | |
| 
 | |
| // LVM_GETEXTENDEDLISTVIEWSTYLE came after VC 4.0
 | |
| #ifndef LVM_GETEXTENDEDLISTVIEWSTYLE
 | |
| #define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST + 55)
 | |
| #endif
 | |
| 
 | |
| #ifdef _WIN32_WCE
 | |
| #define CheckDlgButton(hDlg, ctrl, fChecked) \
 | |
|            SendDlgItemMessage(hDlg, ctrl, BM_SETCHECK, fChecked, 0)
 | |
| #define IsDlgButtonChecked(hDlg, ctrl) \
 | |
|            SendDlgItemMessage(hDlg, ctrl, BM_GETCHECK, 0, 0)
 | |
| #endif
 | |
| 
 | |
| //******************************************************************************
 | |
| //***** Types and Structures
 | |
| //******************************************************************************
 | |
| 
 | |
| typedef struct _FILE_TYPE_NODE {
 | |
|    struct _FILE_TYPE_NODE *pNext;
 | |
|    int                     image;
 | |
|    CHAR                    szExtAndDesc[2];
 | |
| } FILE_TYPE_NODE, *LPFILE_TYPE_NODE;
 | |
| 
 | |
| typedef struct _FILE_NODE {
 | |
|    DWORD           dwSize;
 | |
|    DWORD           dwCompressedSize;
 | |
|    DWORD           dwModified;
 | |
|    DWORD           dwAttributes;
 | |
|    DWORD           dwCRC;
 | |
|    LPCSTR          szComment;
 | |
|    LPCSTR          szType;
 | |
|    CHAR            szPathAndMethod[2];
 | |
| } FILE_NODE, *LPFILE_NODE;
 | |
| 
 | |
| typedef struct _COLUMN {
 | |
|    LPTSTR szName;
 | |
|    int    format;
 | |
| } COLUMN, *LPCOLUMN;
 | |
| 
 | |
| 
 | |
| //******************************************************************************
 | |
| //***** Exported Function Prototypes
 | |
| //******************************************************************************
 | |
| 
 | |
| void AddFileToListView(FILE_NODE *pFile);
 | |
| LPCSTR GetFileFromPath(LPCSTR szPath);
 | |
| void ForwardSlashesToBackSlashesA(LPSTR szBuffer);
 | |
| 
 | |
| 
 | |
| //******************************************************************************
 | |
| //***** Global Variables
 | |
| //******************************************************************************
 | |
| 
 | |
| #ifdef GLOBAL_DECLARE
 | |
| #undef GLOBAL_DECLARE
 | |
| #undef GLOBAL_INIT
 | |
| #endif
 | |
| 
 | |
| #ifdef __WINMAIN_CPP__
 | |
|    #define GLOBAL_DECLARE
 | |
|    #define GLOBAL_INIT(value) =value
 | |
| #else
 | |
|    #define GLOBAL_DECLARE extern
 | |
|    #define GLOBAL_INIT(value)
 | |
| #endif
 | |
| 
 | |
| GLOBAL_DECLARE HINSTANCE g_hInst                GLOBAL_INIT(NULL);
 | |
| GLOBAL_DECLARE HWND      g_hWndMain             GLOBAL_INIT(NULL);
 | |
| GLOBAL_DECLARE HWND      g_hWndEdit             GLOBAL_INIT(NULL);
 | |
| GLOBAL_DECLARE HWND      g_hDlgProgress         GLOBAL_INIT(NULL);
 | |
| GLOBAL_DECLARE CHAR      g_szZipFile[_MAX_PATH] GLOBAL_INIT("");
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| } // extern "C"
 | |
| #endif
 | |
| 
 | |
| #endif // __WINMAIN_H__
 |