|
|
1.1.1.2 ! root 1: ! 2: /******************************************************************************\ ! 3: * This is a part of the Microsoft Source Code Samples. ! 4: * Copyright (C) 1993 Microsoft Corporation. ! 5: * All rights reserved. ! 6: * This source code is only intended as a supplement to ! 7: * Microsoft Development Tools and/or WinHelp documentation. ! 8: * See these sources for detailed information regarding the ! 9: * Microsoft samples programs. ! 10: \******************************************************************************/ ! 11: 1.1 root 12: #include<windows.h> 13: 14: // 15: // Accellerator IDs 16: // 17: #define ACCEL_ID 1001 18: 19: // 20: // Icon IDs 21: // 22: #define UI_FILERICON 2001 23: 24: // 1.1.1.2 ! root 25: // DialogBox Control IDs 1.1 root 26: // 27: #define SB_OK 3001 28: #define SB_CANCEL 3002 29: #define SB_ACTION 3003 30: #define SB_TOFROM 3004 31: #define SB_SOURCE 3005 32: #define SB_DEST 3006 33: #define SB_STATIC 3007 1.1.1.2 ! root 34: #define SB_KEY 3008 ! 35: #define SB_VALUE 3009 ! 36: #define SB_SCROLL 3010 1.1 root 37: 38: // 39: // String Table IDs 40: // 1.1.1.2 ! root 41: #define STR_EXE 4001 ! 42: #define STR_COM 4002 ! 43: #define STR_CMD 4003 ! 44: #define STR_BAT 4004 1.1 root 45: 1.1.1.2 ! root 46: #define STR_DEF_EDITOR 4101 1.1 root 47: 48: // 49: // Bitmap IDs 50: // 51: #define UB_BMP_MARKER 5001 // This should be the same as the first bitmap. 52: #define UB_FLOPPY1 5001 // THESE BITMAP IDs MUST BE CONTIGUOUS AND 53: #define UB_FLOPPY2 5002 // IN THIS ORDER! For 'ease of loading'. 54: #define UB_REMOTE1 5003 55: #define UB_REMOTE2 5004 56: #define UB_CD1 5005 57: #define UB_CD2 5006 58: #define UB_FIXED1 5007 59: #define UB_FIXED2 5008 60: 61: // 1.1.1.2 ! root 62: // Command line window and Drv-CHILD child window IDs 1.1 root 63: // 1.1.1.2 ! root 64: #define COMMAND_ID 6001 // Command Line Window ! 65: #define TEXT_WINDOW_ID 6002 // Title Bar ! 66: #define LISTDIR_ID 6003 // Directory ListBox ! 67: #define LISTFILE_ID 6004 // File ListBox 1.1 root 68: 69: // 70: // Internal Main window IDs 71: // 72: #define MM_FILLDIR 7001 73: #define MM_FILLFILE 7002 74: 75: // 76: // Menu ID's, VKEYs, & other WM_COMMAND messages 77: // 78: #define MM_OPEN 8001 79: #define MM_COPY 8002 80: #define MM_DELETE 8003 81: #define MM_MOVE 8004 82: #define MM_RENAME 8005 83: #define MM_MKDIR 8006 84: #define MM_DELDIR 8007 1.1.1.2 ! root 85: #define MM_VERSION 8008 ! 86: #define MM_EXIT 8009 1.1 root 87: 88: #define MM_REFRESH 8101 89: #define MM_ACTIVEDRV 8102 90: #define MM_TAB 8103 91: #define MM_SWAP 8104 92: #define MM_ORIENT 8105 1.1.1.2 ! root 93: #define MM_EXPAND 8106 ! 94: #define MM_KEEPCMD 8107 1.1 root 95: 96: #define MM_ESCAPE 8112 97: #define MM_TOGGLE 8113 98: 99: #define MM_ABOUT 8201 100: 101: #define MM_DRIVE_NUM 8301 // ...Through 8226, one for each drive letter 102: // . 103: // . 104: // 8326 105: 106: 107: // 108: // constants 109: // 110: #define MAIN_WIDTH 605 // Default width and height of main window 111: #define MAIN_HEIGHT 400 112: 113: #define DRIVE_BITMAP_WIDTH 23 // Width and height of drive toolbar bitmaps 114: #define DRIVE_BITMAP_HEIGHT 14 // assoc. w/ bitmap IDs above. 115: #define DRIVE_LETTER_SPACING 2 // Space between drv bmp and drv letter label 116: #define DRIVE_BITMAP_SPACING 6 // Space on either side of drv bitmap-labels 1.1.1.2 ! root 117: #define NUM_BITMAPS 8 // # types of Drive Bitmaps to be loaded. 1.1 root 118: 1.1.1.2 ! root 119: #define DIRECTORY_STRING_SIZE MAX_PATH // Size of max allowable direcory path 1.1 root 120: 121: #define LIST_BORDER 2 // Space between listbox and Drv child frame 122: 123: #define DRIVE_MENU_NUM 2 // This is the 'Drives' submenu 124: 125: #define LISTBOX_TAB_SIZE 8 // Size of the tabs in the Drv child LBs 126: 127: #define OVER_UNDER 0 // Relative positions of Drv children 128: #define SIDE_BY_SIDE 1 129: 130: #define BOLD_FONT 700 // GetDeviceCaps sez this value is for bold 131: // in the lfWeight LOGFONT member 132: 133: #define NUM_EXTENSION_STRINGS 4 // Lists number of file ext. in stringtable 134: #define EXTENSION_LENGTH 5 // Tot. number of characters in extension, 135: // including '\0' char. 136: 137: #define FILE_SYSTEM_STRING_SIZE 20 // Must be >= 8 138: 139: #define NUM_POSSIBLE_REMOVABLE_DRIVES 26 // A-Z 140: 1.1.1.2 ! root 141: #define MUTEX_TIMEOUT 50 // LB Mutex timeout in milliseconds ! 142: 1.1 root 143: 1.1.1.2 ! root 144: // The following are used in the .EXE Version retrieval code in DRVPROC.C ! 145: #define NUM_VERSION_INFO_KEYS 12 // See FilerGetVersion() ! 146: #define VERSION_DLG_LB_HEIGHT 10 // height in text lines of version dlg LBs ! 147: ! 148: #define VERSION_INFO_KEY_ROOT TEXT("\\StringFileInfo\\") ! 149: #define VERSION_INFO_LANG_ID TEXT("040904B0") ! 150: // end .EXE Version code constants 1.1 root 151: 152: 153: // 154: // Drive enumeration strucure 155: // 156: typedef struct _PerDriveInfo { 1.1.1.2 ! root 157: TCHAR DriveLetter; ! 158: LPTSTR DriveName; ! 159: TCHAR FileSystem[FILE_SYSTEM_STRING_SIZE]; 1.1 root 160: UINT DriveType; 161: struct _PerDriveInfo *next; 162: } DRVINFO, *LPDINFO; 163: 164: // 165: // Instance data for each Drv child window 166: // 167: typedef struct _PerWndInfo { 1.1.1.2 ! root 168: HWND hwnd; // Handle to Drive child window ! 169: HWND hParent; // Handle to Filer main window ! 170: HWND hTextWnd; // Handle to Drive child Title Bar ! 171: HWND hFileLB; // Handle to Drv child File LB ! 172: HWND hDirLB; // Handle to Drv child Dir LB ! 173: HANDLE hDirThread; // Handle to ExpDir or FullExpand thread ! 174: HANDLE hDirMutex; // Protects Dir LB from mult. access ! 175: HANDLE hFileMutex; // Protects File LB from mult. access ! 176: BOOL fDirLeft; // Flag: the Dir LB is on left ! 177: BOOL fDirExpand; // Flag: the Dir LB is fully expanded ! 178: BOOL fSuicide; // Flag: kills ExpDir/FullExpand thread ! 179: BOOL fEscape; // Flag: User aborted Expand thread ! 180: LPDINFO lpDriveInfo; // pointer to current _PerDriveInfo ! 181: TCHAR CaptionBarText[DIRECTORY_STRING_SIZE]; // Drv Child Title text 1.1 root 182: } DRVCHILDINFO, *LPCINFO; 183: 184: typedef struct _PerButtonInfo { 185: HANDLE hButton; 186: BOOL fButtonDown; 187: LPDINFO lpDrive; 188: struct _PerButtonInfo *next; 189: } BINFO, *LPBINFO; 190: 191: typedef struct _SelectDlgInfo { 192: HWND hwnd; 193: DWORD dwAction; 1.1.1.2 ! root 194: LPTSTR szAction; ! 195: LPTSTR szToFrom; 1.1 root 196: } SELECTINFO, *LPSINFO; 1.1.1.2 ! root 197: ! 198: // .EXE version information key structure: for FilerGetVersion() in DRVPROC.C ! 199: typedef struct _VersionKeyInfo { ! 200: TCHAR const *szKey; ! 201: TCHAR *szValue; ! 202: } VKINFO, *LPVKINFO;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.