mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1036 lines
35 KiB
1036 lines
35 KiB
/****************************************************************************/
|
|
/* */
|
|
/* WINFILE.H - */
|
|
/* */
|
|
/* Include for WINFILE program */
|
|
/* */
|
|
/****************************************************************************/
|
|
|
|
#define NOCOMM
|
|
#define WIN31
|
|
|
|
#include <windows.h>
|
|
#include <port1632.h>
|
|
#include <winuserp.h>
|
|
#include <setjmp.h>
|
|
#include <string.h>
|
|
#include <memory.h>
|
|
#include <shellapi.h>
|
|
#include <shlapip.h>
|
|
#include "wfext.h"
|
|
#include "wfhelp.h"
|
|
#include "dbg.h"
|
|
|
|
#undef CheckEscapes
|
|
|
|
#define DwordAlign(cb) ((cb + 3) & ~3)
|
|
|
|
typedef HWND NEAR *PHWND;
|
|
|
|
#define SIZENOMDICRAP 944
|
|
|
|
#define MAXDOSFILENAMELEN 12+1 // includes the NULL
|
|
#define MAXDOSPATHLEN (68+MAXDOSFILENAMELEN) // includes the NULL
|
|
|
|
#define MAXLFNFILENAMELEN 260
|
|
#define MAXLFNPATHLEN 260
|
|
|
|
#define MAXFILENAMELEN MAXLFNFILENAMELEN
|
|
#define MAXPATHLEN MAXLFNPATHLEN
|
|
|
|
#define MAXTITLELEN 32
|
|
#define MAXMESSAGELEN (50 + MAXFILENAMELEN * 2)
|
|
|
|
#include "wfdisk.h"
|
|
|
|
// struct for volume info
|
|
|
|
#define MAX_VOLNAME 12
|
|
#define MAX_FILESYSNAME 12
|
|
|
|
typedef struct _VOLINFO {
|
|
DWORD dwVolumeSerialNumber;
|
|
DWORD dwMaximumComponentLength;
|
|
DWORD dwFileSystemFlags;
|
|
DWORD dwDriveType;
|
|
CHAR szVolumeName[MAX_VOLNAME];
|
|
CHAR szFileSysName[MAX_FILESYSNAME];
|
|
} VOLINFO;
|
|
|
|
|
|
/*--------------------------------------------------------------------------*/
|
|
/* */
|
|
/* Function Templates */
|
|
/* */
|
|
/*--------------------------------------------------------------------------*/
|
|
|
|
BOOL APIENTRY FileCDR(FARPROC);
|
|
VOID APIENTRY KernelChangeFileSystem(LPSTR,WORD);
|
|
|
|
/* WFDOSDIR.ASM */
|
|
DWORD APIENTRY GetExtendedError(VOID);
|
|
VOID APIENTRY DosGetDTAAddress(VOID);
|
|
VOID APIENTRY DosResetDTAAddress(VOID);
|
|
BOOL APIENTRY DosFindFirst(LPDOSDTA, LPSTR, WORD);
|
|
BOOL APIENTRY DosFindNext(LPDOSDTA);
|
|
BOOL APIENTRY DosDelete(LPSTR);
|
|
INT APIENTRY GetCurrentVolume(LPSTR);
|
|
INT APIENTRY UpdateDriveList(VOID);
|
|
WORD APIENTRY GetFirstCDROMDrive(VOID);
|
|
// WORD APIENTRY GetFileAttributes(LPSTR);
|
|
// WORD APIENTRY SetFileAttributes(LPSTR, WORD);
|
|
DWORD APIENTRY GetFreeDiskSpace(WORD);
|
|
DWORD APIENTRY GetTotalDiskSpace(WORD);
|
|
INT APIENTRY ChangeVolumeLabel(INT, LPSTR);
|
|
INT APIENTRY GetVolumeLabel(INT, LPSTR, BOOL);
|
|
INT APIENTRY DeleteVolumeLabel(INT);
|
|
INT APIENTRY CreateVolumeFile(LPSTR);
|
|
INT APIENTRY CreateVolumeLabel(INT, LPSTR);
|
|
INT APIENTRY MySetVolumeLabel(INT, BOOL, LPSTR);
|
|
|
|
INT APIENTRY WF_CreateDirectory(HWND, LPSTR);
|
|
WORD APIENTRY FileCopy(LPSTR szSource, LPSTR szDest);
|
|
|
|
/* WFDISK.C */
|
|
DWORD APIENTRY LongShift(DWORD dwValue, WORD wCount);
|
|
VOID APIENTRY SetDASD(WORD, BYTE);
|
|
LPDBT APIENTRY GetDBT(VOID);
|
|
HANDLE APIENTRY BuildDevPB(PDevPB);
|
|
VOID APIENTRY DiskReset(VOID);
|
|
WORD APIENTRY GetDPB(WORD, PDPB);
|
|
VOID APIENTRY SetDPB(WORD, PBPB, PDPB);
|
|
INT APIENTRY ModifyDPB(WORD);
|
|
INT APIENTRY MyInt25(WORD, LPSTR, WORD, WORD);
|
|
INT APIENTRY MyReadWriteSector(LPSTR, WORD, WORD, WORD, WORD, WORD);
|
|
INT APIENTRY GenericReadWriteSector(LPSTR, WORD, WORD, WORD, WORD, WORD);
|
|
VOID APIENTRY lStrucCopy(LPSTR, LPSTR, WORD);
|
|
INT APIENTRY FormatTrackHead(WORD, WORD, WORD, WORD, LPSTR);
|
|
INT APIENTRY GenericFormatTrack(WORD, WORD, WORD, WORD, LPSTR);
|
|
INT APIENTRY MyGetDriveType(WORD);
|
|
INT APIENTRY WriteBootSector(WORD, WORD, PBPB, LPSTR);
|
|
WORD APIENTRY GetDriveCapacity(WORD);
|
|
DWORD APIENTRY DreamUpSerialNumber(VOID);
|
|
DWORD APIENTRY GetClusterInfo(WORD);
|
|
DWORD APIENTRY ReadSerialNumber(INT, LPSTR);
|
|
INT APIENTRY ModifyVolLabelInBootSec(INT, LPSTR, DWORD, LPSTR);
|
|
LPSTR GetRootPath(WORD wDrive);
|
|
|
|
/* WFUTIL.C */
|
|
INT APIENTRY GetBootDisk(VOID);
|
|
VOID APIENTRY FixAnsiPathForDos(LPSTR szPath);
|
|
VOID APIENTRY RefreshWindow(HWND hwndActive);
|
|
BOOL APIENTRY IsLastWindow(VOID);
|
|
//LPSTR APIENTRY AddCommas(LPSTR szBuf, DWORD dw);
|
|
VOID APIENTRY GetVolShare(WORD wDrive, LPSTR szVolShare);
|
|
VOID APIENTRY InvalidateChildWindows(HWND hwnd);
|
|
BOOL APIENTRY IsValidDisk(INT iDrive);
|
|
LPSTR APIENTRY GetSelection(INT iSelType);
|
|
LPSTR APIENTRY GetNextFile(LPSTR pCurSel, LPSTR szFile, INT size);
|
|
VOID APIENTRY SetWindowDirectory(VOID);
|
|
VOID APIENTRY SetDlgDirectory(HWND hDlg, PSTR pszPath);
|
|
VOID APIENTRY WritePrivateProfileBool(LPSTR szKey, BOOL bParam);
|
|
VOID APIENTRY WritePrivateProfileInt(LPSTR szKey, INT wParam);
|
|
BOOL APIENTRY IsWild(LPSTR lpszPath);
|
|
VOID APIENTRY AddBackslash(LPSTR lpszPath);
|
|
VOID APIENTRY StripBackslash(LPSTR lpszPath);
|
|
VOID APIENTRY StripFilespec(LPSTR lpszPath);
|
|
VOID APIENTRY StripPath(LPSTR lpszPath);
|
|
LPSTR APIENTRY GetExtension(LPSTR pszFile);
|
|
BOOL APIENTRY FindExtensionInList(LPSTR pszExt, LPSTR pszList);
|
|
INT APIENTRY MyMessageBox(HWND hWnd, WORD idTitle, WORD idMessage, WORD wStyle);
|
|
WORD APIENTRY ExecProgram(LPSTR,LPSTR,LPSTR,BOOL);
|
|
BOOL APIENTRY IsProgramFile(LPSTR lpszPath);
|
|
BOOL APIENTRY IsDocument(LPSTR lpszPath);
|
|
BOOL APIENTRY IsRemovableDrive(INT);
|
|
BOOL APIENTRY IsRemoteDrive(INT);
|
|
VOID APIENTRY SetMDIWindowText(HWND hWnd, LPSTR szTitle);
|
|
INT APIENTRY GetMDIWindowText(HWND hWnd, LPSTR szTitle, INT size);
|
|
BOOL APIENTRY ResizeSplit(HWND hWnd, INT dxSplit);
|
|
|
|
/* WFDIRSRC.C */
|
|
HCURSOR APIENTRY GetMoveCopyCursor(VOID);
|
|
VOID APIENTRY SetLBFont(HWND hWnd, HWND hwndLB, HANDLE hFont);
|
|
VOID APIENTRY DrawItem(LPDRAWITEMSTRUCT lpLBItem, LPSTR szLine, DWORD dwAttrib, BOOL bHilight, WORD *pTabs);
|
|
VOID APIENTRY DSDragLoop(HWND hwndLB, WPARAM wParam, LPDROPSTRUCT lpds, BOOL bSearch);
|
|
VOID APIENTRY DSRectItem(HWND hwndLB, INT iSel, BOOL bFocusOn, BOOL bSearch);
|
|
INT APIENTRY DSTrackPoint(HWND hWnd, HWND hwndLB, WPARAM wParam, LPARAM lParam, BOOL bSearch);
|
|
VOID APIENTRY DSSetSelection(HWND hwndLB, BOOL bSelect, LPSTR szSpec, BOOL bSearch);
|
|
INT APIENTRY FixTabsAndThings(HWND hwndLB, WORD *pwTabs, INT iMaxWidthFileName, WORD wViewOpts);
|
|
|
|
VOID APIENTRY UpdateStatus(HWND hWnd);
|
|
BOOL APIENTRY CompactPath(HDC hdc, LPSTR szPath, WORD dx);
|
|
VOID APIENTRY SetActiveDirectory(VOID);
|
|
VOID APIENTRY GetInternational(VOID);
|
|
VOID APIENTRY BuildDocumentString(VOID);
|
|
BOOL APIENTRY LoadBitmaps(VOID);
|
|
BOOL APIENTRY InitFileManager(HANDLE hInstance, HANDLE hPrevInstance, LPSTR lpszCmdLine, INT nCmdShow);
|
|
VOID APIENTRY InitDriveBitmaps(VOID);
|
|
VOID APIENTRY InitExtensions(VOID);
|
|
VOID APIENTRY FreeFileManager(VOID);
|
|
VOID APIENTRY DeleteBitmaps(VOID);
|
|
BOOL APIENTRY FormatFloppy(HWND hWnd, WORD nDestDrive, INT iCapacity, BOOL bMakeSysDisk, BOOL bQuick);
|
|
BOOL APIENTRY HasSystemFiles(WORD iDrive);
|
|
BOOL APIENTRY MakeSystemDiskette(WORD nDestDrive, BOOL bEmptyDisk);
|
|
INT APIENTRY CopyDiskette(HWND hwnd, WORD nSrcDrive, WORD nDestDrive);
|
|
VOID APIENTRY ChangeFileSystem(WORD wOper, LPSTR lpPath, LPSTR lpTo);
|
|
WORD APIENTRY DMMoveCopyHelper(LPSTR pFrom, LPSTR pTo, BOOL bCopy);
|
|
WORD APIENTRY WFMoveCopyDriver(LPSTR pFrom, LPSTR pTo, WORD wFunc);
|
|
WORD APIENTRY IsTheDiskReallyThere(HWND hwnd, register LPSTR pPath, WORD wFunc);
|
|
WORD APIENTRY WFPrint(LPSTR szFile);
|
|
VOID APIENTRY GetSelectedDirectory(WORD iDrive, PSTR pszDir);
|
|
VOID APIENTRY SaveDirectory(PSTR pszDir);
|
|
INT APIENTRY GetSelectedDrive(VOID);
|
|
VOID APIENTRY GetTextStuff(HDC hdc);
|
|
INT APIENTRY GetHeightFromPointsString(LPSTR szPoints);
|
|
|
|
INT APIENTRY GetDrive(HWND hwnd, POINT pt);
|
|
|
|
VOID APIENTRY CheckSlashies(LPSTR);
|
|
VOID APIENTRY SetSourceDir(LPDROPSTRUCT lpds); // wfdir.c
|
|
VOID APIENTRY UpdateSelection(HWND hwndLB);
|
|
DWORD APIENTRY GetVolShareExtent(HWND hWnd); // wfdrives.c
|
|
|
|
|
|
BOOL APIENTRY WFQueryAbort(VOID);
|
|
|
|
VOID APIENTRY EnableFSC( VOID );
|
|
VOID APIENTRY DisableFSC( VOID );
|
|
|
|
VOID APIENTRY ResizeWindows(HWND hwndParent,WORD dxWindow, WORD dyWindow);
|
|
BOOL APIENTRY CheckDrive(HWND hwnd, INT nDrive);
|
|
INT_PTR APIENTRY FrameWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
BOOL APIENTRY AppCommandProc(WORD id);
|
|
INT_PTR APIENTRY TreeWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY DriveWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY DrivesWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY VolumeWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY TreeChildWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY TreeControlWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY DirWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY SearchWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
|
|
INT_PTR APIENTRY DrivesDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY AssociateDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY SearchDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY RunDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY SelectDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY FontDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY SuperDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY AttribsDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY MakeDirDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY ExitDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY DiskLabelDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY ChooseDriveDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY FormatDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY Format2DlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY ProgressDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY DiskCopyDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY DiskCopy2DlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY ConnectDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY PreviousDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY OtherDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY SortByDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY IncludeDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY ConfirmDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
INT_PTR APIENTRY AboutDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
|
|
VOID APIENTRY SaveWindows(HWND hwndMain);
|
|
INT APIENTRY PutDate(LPFILETIME lpftDate, LPSTR szStr);
|
|
INT APIENTRY PutTime(LPFILETIME lpftTime, LPSTR szStr);
|
|
INT APIENTRY PutSize(DWORD dwSize, LPSTR szOutStr);
|
|
INT APIENTRY PutAttributes(register DWORD dwAttribute, register LPSTR szStr);
|
|
BOOL APIENTRY CreateSavedWindows(VOID);
|
|
HWND APIENTRY CreateDirWindow(register LPSTR szPath, BOOL bReplaceOpen, HWND hwndActive);
|
|
HWND APIENTRY CreateTreeWindow(LPSTR szDir, INT dxSplit);
|
|
VOID APIENTRY GetTreeWindows(HWND hwnd, PHWND phwndTree, PHWND phwndDir, PHWND hwndDrives);
|
|
HWND APIENTRY GetTreeFocus(HWND hWnd);
|
|
VOID APIENTRY SetTreeCase(HWND hWnd);
|
|
INT APIENTRY GetSplit(HWND hwnd);
|
|
HWND APIENTRY GetMDIChildFromDecendant(HWND hwnd);
|
|
INT APIENTRY GetDrive(HWND hwnd, POINT pt);
|
|
WORD APIENTRY IsNetDrive(INT iDrive);
|
|
WORD APIENTRY IsCDRomDrive(INT iDrive);
|
|
BOOL APIENTRY IsRamDrive(INT wDrive);
|
|
WORD APIENTRY WFGetConnection(LPSTR,LPSTR,BOOL);
|
|
WORD APIENTRY NetCheck(LPSTR,WORD);
|
|
|
|
VOID APIENTRY InitExtensions(VOID);
|
|
|
|
VOID APIENTRY NewTree(INT iDrive, HWND hWnd);
|
|
INT APIENTRY FormatDiskette(HWND hwnd);
|
|
VOID APIENTRY NewFont(VOID);
|
|
HWND APIENTRY GetRealParent(HWND hwnd);
|
|
VOID APIENTRY WFHelp(HWND hwnd);
|
|
LRESULT APIENTRY MessageFilter(INT nCode, WPARAM wParam, LPARAM lParam);
|
|
VOID APIENTRY UpdateConnections(VOID);
|
|
VOID APIENTRY FillVolumeInfo(INT iVol);
|
|
WORD APIENTRY WFCopy(PSTR,PSTR);
|
|
WORD APIENTRY StartCopy(VOID);
|
|
WORD APIENTRY EndCopy(VOID);
|
|
VOID APIENTRY CopyAbort(VOID);
|
|
VOID APIENTRY QualifyPath(PSTR);
|
|
VOID APIENTRY wfYield(VOID);
|
|
|
|
LONG APIENTRY lmul(WORD w1, WORD w2);
|
|
|
|
#define DEBUGF(foo)
|
|
#define STKCHK()
|
|
|
|
#define TA_LOWERCASE 0x01
|
|
#define TA_BOLD 0x02
|
|
#define TA_ITALIC 0x04
|
|
|
|
#ifndef NO_WF_GLOBALS
|
|
|
|
/*--------------------------------------------------------------------------*/
|
|
/* */
|
|
/* Global Externs */
|
|
/* */
|
|
/*--------------------------------------------------------------------------*/
|
|
|
|
extern BOOL bNetAdmin;
|
|
extern BOOL bMinOnRun;
|
|
extern BOOL bReplace;
|
|
extern BOOL bStatusBar;
|
|
extern BOOL bConfirmDelete;
|
|
extern BOOL bConfirmSubDel;
|
|
extern BOOL bConfirmReplace;
|
|
extern BOOL bConfirmMouse;
|
|
extern BOOL bConfirmFormat;
|
|
extern BOOL bSaveSettings;
|
|
extern BOOL bSearchSubs;
|
|
extern BOOL bUserAbort;
|
|
extern BOOL bConnect;
|
|
extern BOOL bDisconnect;
|
|
extern BOOL bFileSysChanging;
|
|
extern BOOL fShowSourceBitmaps;
|
|
extern BOOL bMultiple;
|
|
extern BOOL bFSCTimerSet;
|
|
extern BOOL bSaveSettings;
|
|
|
|
|
|
extern CHAR chFirstDrive;
|
|
|
|
extern CHAR szExtensions[];
|
|
extern CHAR szFrameClass[];
|
|
extern CHAR szTreeClass[];
|
|
extern CHAR szDriveClass[];
|
|
extern CHAR szDrivesClass[];
|
|
extern CHAR szVolumeClass[];
|
|
extern CHAR szTreeChildClass[];
|
|
extern CHAR szTreeControlClass[];
|
|
extern CHAR szDirClass[];
|
|
extern CHAR szSearchClass[];
|
|
|
|
extern CHAR szSaveSettings[];
|
|
extern CHAR szMinOnRun[];
|
|
extern CHAR szReplace[];
|
|
extern CHAR szLowerCase[];
|
|
extern CHAR szStatusBar[];
|
|
extern CHAR szCurrentView[];
|
|
extern CHAR szCurrentSort[];
|
|
extern CHAR szCurrentAttribs[];
|
|
extern CHAR szConfirmDelete[];
|
|
extern CHAR szConfirmSubDel[];
|
|
extern CHAR szConfirmReplace[];
|
|
extern CHAR szConfirmMouse[];
|
|
extern CHAR szConfirmFormat[];
|
|
extern CHAR szTreeKey[];
|
|
extern CHAR szDirKeyFormat[];
|
|
extern CHAR szWindow[];
|
|
|
|
extern CHAR szDefPrograms[];
|
|
extern CHAR szINIFile[];
|
|
extern CHAR szWindows[];
|
|
extern CHAR szPrevious[];
|
|
extern CHAR szSettings[];
|
|
extern CHAR szInternational[];
|
|
extern CHAR szStarDotStar[];
|
|
extern CHAR szNULL[];
|
|
extern CHAR szBlank[];
|
|
extern CHAR szEllipses[];
|
|
extern CHAR szReservedMarker[];
|
|
extern CHAR szNetwork[];
|
|
|
|
extern CHAR szDirsRead[32];
|
|
extern CHAR szCurrentFileSpec[];
|
|
extern CHAR szShortDate[];
|
|
extern CHAR szTime[];
|
|
extern CHAR sz1159[];
|
|
extern CHAR sz2359[];
|
|
extern CHAR szComma[2];
|
|
extern CHAR szDated[];
|
|
extern CHAR szListbox[];
|
|
extern CHAR szWith[];
|
|
|
|
extern CHAR szTheINIFile[64+12+3];
|
|
extern CHAR szTitle[128];
|
|
extern CHAR szMessage[MAXMESSAGELEN+1];
|
|
extern CHAR szSearch[MAXPATHLEN+1];
|
|
extern CHAR szStatusTree[80];
|
|
extern CHAR szStatusDir[80];
|
|
extern CHAR szOriginalDirPath[64+12+3];
|
|
extern CHAR szFace[];
|
|
extern CHAR szSize[];
|
|
extern CHAR szAddons[];
|
|
extern CHAR szUndelete[];
|
|
extern CHAR szWinObjHelp[];
|
|
extern CHAR szSaveSettings[];
|
|
extern CHAR szBytes[10];
|
|
extern CHAR szSBytes[10];
|
|
|
|
extern INT cKids;
|
|
extern INT cDrives;
|
|
extern INT dxDrive;
|
|
extern INT dyDrive;
|
|
extern INT dxDriveBitmap;
|
|
extern INT dyDriveBitmap;
|
|
extern INT dxEllipses;
|
|
extern INT dxBraces;
|
|
extern INT dxFolder;
|
|
extern INT dyFolder;
|
|
extern INT dyBorder; /* System Border Width/Height */
|
|
extern INT dyBorderx2; /* System Border Width/Height * 2 */
|
|
extern INT dyStatus; /* Status Bar height */
|
|
extern INT dxStatusField;
|
|
extern INT dxText; /* System Font Width 'M' */
|
|
extern INT dyText; /* System Font Height */
|
|
extern INT dxFileName;
|
|
extern INT dyFileName;
|
|
extern INT dxFileDetails;
|
|
extern INT iFormatDrive; /* Logical # of the drive to format */
|
|
extern INT iCurrentDrive; /* Logical # of the drive to format */
|
|
extern INT nFloppies; /* Number of Removable Drives */
|
|
extern INT rgiDrive[26];
|
|
extern INT rgiDriveType[26];
|
|
extern VOLINFO *(apVolInfo[26]);
|
|
extern INT rgiInt13Drive[26];
|
|
extern INT rgiDrivesOffset[26];
|
|
extern INT idViewChecked;
|
|
extern INT idSortChecked;
|
|
extern INT defTabStops[];
|
|
extern INT iSelHilite;
|
|
extern INT iTime;
|
|
extern INT iTLZero;
|
|
extern INT cDisableFSC;
|
|
extern INT iReadLevel;
|
|
extern INT dxFrame;
|
|
extern INT dyTitle;
|
|
extern INT dxClickRect;
|
|
extern INT dyClickRect;
|
|
|
|
extern HANDLE hAccel;
|
|
extern HANDLE hAppInstance;
|
|
|
|
extern HBITMAP hbmBitmaps;
|
|
extern HDC hdcMem;
|
|
|
|
extern INT iCurDrag;
|
|
extern HICON hicoTree;
|
|
extern HICON hicoTreeDir;
|
|
extern HICON hicoDir;
|
|
|
|
extern HWND hdlgProgress;
|
|
extern HWND hwndFrame;
|
|
extern HWND hwndLastActiveDir;
|
|
extern HWND hwndMDIClient;
|
|
extern HWND hwndSearch;
|
|
extern HWND hwndDragging; /* source window of DM */
|
|
|
|
extern LPSTR szPrograms;
|
|
extern LPSTR szDocuments;
|
|
|
|
extern WORD wTextAttribs;
|
|
extern WORD wSuperDlgMode;
|
|
extern WORD wCDROMIndex;
|
|
extern WORD wDOSversion;
|
|
extern UINT wHelpMessage;
|
|
extern UINT wBrowseMessage;
|
|
|
|
extern WORD wNewView;
|
|
extern WORD wNewSort;
|
|
extern DWORD dwNewAttribs;
|
|
extern WORD xTreeMax;
|
|
|
|
extern LONG lFreeSpace;
|
|
extern LONG lTotalSpace;
|
|
|
|
extern BOOL bPaintBackground;
|
|
extern BOOL bCancelTree;
|
|
|
|
extern HFONT hFont;
|
|
extern HFONT hFontStatus;
|
|
|
|
extern EXTENSION extensions[MAX_EXTENSIONS];
|
|
extern INT iDeltaStart;
|
|
extern INT iNumExtensions;
|
|
extern DWORD ( APIENTRY *lpfpUndelete)(HWND, LPSTR);
|
|
|
|
extern HHOOK hhkMessageFilter;
|
|
extern DWORD dwContext;
|
|
extern HANDLE hModUndelete;
|
|
extern WORD fFormatFlags;
|
|
extern WORD nLastDriveInd;
|
|
|
|
#endif // ndef NO_WF_GLOBALS
|
|
|
|
/*--------------------------------------------------------------------------*/
|
|
/* */
|
|
/* Defines */
|
|
/* */
|
|
/*--------------------------------------------------------------------------*/
|
|
|
|
#define TABCHAR '\t'
|
|
|
|
#define DO_LISTOFFILES 1L
|
|
|
|
#define WS_MDISTYLE (WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_SYSMENU | WS_CAPTION | WS_THICKFRAME | WS_MAXIMIZEBOX)
|
|
#define WS_DIRSTYLE (WS_CHILD | LBS_SORT | LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_EXTENDEDSEL | LBS_NOINTEGRALHEIGHT | LBS_WANTKEYBOARDINPUT)
|
|
#define WS_SEARCHSTYLE (WS_DIRSTYLE | LBS_HASSTRINGS | WS_VSCROLL)
|
|
|
|
|
|
/* Extra Window Word Offsets */
|
|
|
|
// szTreeClass & szSearchClass common..
|
|
|
|
#define GWL_TYPE 0 // > 0 Tree, -1 = search
|
|
#define GWL_VIEW 4
|
|
#define GWL_SORT 8
|
|
#define GWL_ATTRIBS 12
|
|
#define GWL_FSCFLAG 16
|
|
|
|
// szTreeClass only...
|
|
|
|
#define GWLP_LASTFOCUS 20
|
|
#define GWL_SPLIT 24
|
|
|
|
// szSearchClass only...
|
|
|
|
#define GWLP_HDTASEARCH 20
|
|
#define GWLP_TABARRAYSEARCH 24 // on szSearchClass
|
|
#define GWLP_LASTFOCUSSEARCH 28 // on szSearchClass
|
|
|
|
// szDirClass...
|
|
|
|
#define GWLP_HDTA 0
|
|
#define GWLP_TABARRAY 4
|
|
|
|
// szDrivesClass...
|
|
|
|
#define GWL_CURDRIVEIND 0 // current selection in drives window
|
|
#define GWL_CURDRIVEFOCUS 4 // current focus in drives window
|
|
#define GWLP_LPSTRVOLUME 8 // LPSTR to Volume/Share string
|
|
|
|
// szTreeControlClass
|
|
|
|
#define GWL_READLEVEL 0 // iReadLevel for each tree control window
|
|
|
|
|
|
|
|
// GWL_TYPE numbers
|
|
|
|
#define TYPE_TREE 0 // and all positive numbers (drive number)
|
|
#define TYPE_SEARCH -1
|
|
|
|
|
|
/* WM_FILESYSCHANGE message wParam value */
|
|
#define FSC_CREATE 0
|
|
#define FSC_DELETE 1
|
|
#define FSC_RENAME 2
|
|
#define FSC_ATTRIBUTES 3
|
|
#define FSC_NETCONNECT 4
|
|
#define FSC_NETDISCONNECT 5
|
|
#define FSC_REFRESH 6
|
|
#define FSC_MKDIR 7
|
|
#define FSC_RMDIR 8
|
|
|
|
#define WM_LBTRACKPT 0x131
|
|
|
|
#define TC_SETDRIVE 0x944
|
|
#define TC_GETCURDIR 0x945
|
|
#define TC_EXPANDLEVEL 0x946
|
|
#define TC_COLLAPSELEVEL 0x947
|
|
#define TC_GETDIR 0x948
|
|
#define TC_SETDIRECTORY 0x949
|
|
#define TC_TOGGLELEVEL 0x950
|
|
|
|
#define FS_CHANGEDISPLAY (WM_USER+0x100)
|
|
#define FS_CHANGEDRIVES (WM_USER+0x101)
|
|
#define FS_GETSELECTION (WM_USER+0x102)
|
|
#define FS_GETDIRECTORY (WM_USER+0x103)
|
|
#define FS_GETDRIVE (WM_USER+0x104)
|
|
#define WM_OWNERDRAWBEGIN (WM_USER+0x105)
|
|
#define WM_OWNERDRAWEND (WM_USER+0x106)
|
|
#define FS_SETDRIVE (WM_USER+0x107)
|
|
#define FS_GETFILESPEC (WM_USER+0x108)
|
|
#define FS_SETSELECTION (WM_USER+0x109)
|
|
|
|
#define ATTR_READWRITE 0x0000
|
|
#define ATTR_READONLY FILE_ATTRIBUTE_READONLY // == 0x0001
|
|
#define ATTR_HIDDEN FILE_ATTRIBUTE_HIDDEN // == 0x0002
|
|
#define ATTR_SYSTEM FILE_ATTRIBUTE_SYSTEM // == 0x0004
|
|
#define ATTR_VOLUME 0x0008
|
|
#define ATTR_DIR FILE_ATTRIBUTE_DIRECTORY // == 0x0010
|
|
#define ATTR_ARCHIVE FILE_ATTRIBUTE_ARCHIVE // == 0x0020
|
|
#define ATTR_NORMAL FILE_ATTRIBUTE_NORMAL // == 0x0080
|
|
#define ATTR_PARENT 0x0040 // my hack DTA bits
|
|
#define ATTR_LFN 0x1000 // my hack DTA bits
|
|
#define ATTR_RWA (ATTR_READWRITE | ATTR_ARCHIVE)
|
|
#define ATTR_ALL (ATTR_READONLY | ATTR_HIDDEN | ATTR_SYSTEM | ATTR_DIR | ATTR_ARCHIVE | ATTR_NORMAL)
|
|
#define ATTR_PROGRAMS 0x0100
|
|
#define ATTR_DOCS 0x0200
|
|
#define ATTR_OTHER 0x0400
|
|
#define ATTR_EVERYTHING (ATTR_ALL | ATTR_PROGRAMS | ATTR_DOCS | ATTR_OTHER | ATTR_PARENT)
|
|
#define ATTR_DEFAULT (ATTR_EVERYTHING & ~(ATTR_HIDDEN | ATTR_SYSTEM))
|
|
#define ATTR_HS (ATTR_HIDDEN | ATTR_SYSTEM)
|
|
|
|
#define ATTR_TYPES 0x00ff0000
|
|
#define ATTR_SYMLINK 0x00010000
|
|
#define ATTR_ADAPTER 0x00020000
|
|
#define ATTR_CONTROLLER 0x00030000
|
|
#define ATTR_DEVICE 0x00040000
|
|
#define ATTR_DRIVER 0x00050000
|
|
#define ATTR_EVENT 0x00060000
|
|
#define ATTR_EVENTPAIR 0x00070000
|
|
#define ATTR_FILE 0x00080000
|
|
#define ATTR_MUTANT 0x00090000
|
|
#define ATTR_PORT 0x000a0000
|
|
#define ATTR_PROFILE 0x000b0000
|
|
#define ATTR_SECTION 0x000c0000
|
|
#define ATTR_SEMAPHORE 0x000d0000
|
|
#define ATTR_TIMER 0x000e0000
|
|
#define ATTR_TYPE 0x000f0000
|
|
#define ATTR_PROCESS 0x00100000
|
|
|
|
#define ATTR_USED (0x00BF | ATTR_TYPES)
|
|
|
|
#define ATTR_RETURNED 0x2000 /* used in DTA's by copy */
|
|
|
|
#define CD_PATH 0x0001
|
|
#define CD_VIEW 0x0002
|
|
#define CD_SORT 0x0003
|
|
#define CD_PATH_FORCE 0x0004
|
|
#define CD_SEARCHUPDATE 0x0005
|
|
#define CD_ALLOWABORT 0x8000
|
|
|
|
#define VIEW_NAMEONLY 0x0000
|
|
#define VIEW_UPPERCASE 0x0001
|
|
#define VIEW_SIZE 0x0002
|
|
#define VIEW_DATE 0x0004
|
|
#define VIEW_TIME 0x0008
|
|
#define VIEW_FLAGS 0x0010
|
|
#define VIEW_PLUSES 0x0020
|
|
#define VIEW_EVERYTHING (VIEW_SIZE | VIEW_TIME | VIEW_DATE | VIEW_FLAGS)
|
|
|
|
#define CBSECTORSIZE 512
|
|
|
|
#define INT13_READ 2
|
|
#define INT13_WRITE 3
|
|
|
|
#define ERR_USER 0xF000
|
|
|
|
/* Child Window IDs */
|
|
#define IDCW_DRIVES 1
|
|
#define IDCW_DIR 2
|
|
#define IDCW_TREELISTBOX 3
|
|
#define IDCW_TREECONTROL 5
|
|
#define IDCW_LISTBOX 6 // list in search
|
|
|
|
|
|
#define HasDirWindow(hwnd) GetDlgItem(hwnd, IDCW_DIR)
|
|
#define HasTreeWindow(hwnd) GetDlgItem(hwnd, IDCW_TREECONTROL)
|
|
#define HasDrivesWindow(hwnd) GetDlgItem(hwnd, IDCW_DRIVES)
|
|
#define GetSplit(hwnd) ((int)GetWindowLong(hwnd, GWL_SPLIT))
|
|
|
|
|
|
/* Menu Command Defines */
|
|
#define IDM_FILE 0
|
|
#define IDM_OPEN 101
|
|
#define IDM_PRINT 102
|
|
#define IDM_ASSOCIATE 103
|
|
#define IDM_SEARCH 104
|
|
#define IDM_RUN 105
|
|
#define IDM_MOVE 106
|
|
#define IDM_COPY 107
|
|
#define IDM_DELETE 108
|
|
#define IDM_RENAME 109
|
|
#define IDM_ATTRIBS 110
|
|
#define IDM_MAKEDIR 111
|
|
#define IDM_SELALL 112
|
|
#define IDM_DESELALL 113
|
|
#define IDM_UNDO 114
|
|
#define IDM_EXIT 115
|
|
#define IDM_SELECT 116
|
|
#define IDM_UNDELETE 117
|
|
#define IDM_DISK 7
|
|
#define IDM_DISKCOPY 801
|
|
#define IDM_LABEL 802
|
|
#define IDM_FORMAT 803
|
|
#define IDM_SYSDISK 804
|
|
#define IDM_CONNECT 805
|
|
#define IDM_DISCONNECT 806
|
|
#define IDM_DRIVESMORE 851
|
|
#define IDM_CONNECTIONS 852
|
|
#define IDM_TREE 1
|
|
#define IDM_EXPONE 201
|
|
#define IDM_EXPSUB 202
|
|
#define IDM_EXPALL 203
|
|
#define IDM_COLLAPSE 204
|
|
#define IDM_NEWTREE 205
|
|
#define IDM_VIEW 2
|
|
#define IDM_VNAME 301
|
|
#define IDM_VDETAILS 302
|
|
#define IDM_VOTHER 303
|
|
|
|
#define IDM_BYNAME 304
|
|
#define IDM_BYTYPE 305
|
|
#define IDM_BYSIZE 306
|
|
#define IDM_BYDATE 307
|
|
|
|
#define IDM_VINCLUDE 309
|
|
#define IDM_REPLACE 310
|
|
|
|
#define IDM_TREEONLY 311
|
|
#define IDM_DIRONLY 312
|
|
#define IDM_BOTH 313
|
|
#define IDM_SPLIT 314
|
|
|
|
#define IDM_OPTIONS 3
|
|
#define IDM_CONFIRM 401
|
|
#define IDM_LOWERCASE 402
|
|
#define IDM_STATUSBAR 403
|
|
#define IDM_MINONRUN 404
|
|
#define IDM_ADDPLUSES 405
|
|
#define IDM_EXPANDTREE 406
|
|
#define IDM_FONT 410
|
|
#define IDM_SAVESETTINGS 411
|
|
|
|
#define IDM_EXTENSIONS 5
|
|
|
|
#define IDM_WINDOW 10 // IDM_EXTENSIONS + MAX_EXTENSIONS
|
|
#define IDM_CASCADE 1001
|
|
#define IDM_TILE 1002
|
|
#define IDM_REFRESH 1003
|
|
#define IDM_ARRANGE 1004
|
|
#define IDM_NEWWINDOW 1005
|
|
#define IDM_CHILDSTART 1006
|
|
|
|
#define IDM_HELP 11 // IDM_WINDOW + 1
|
|
#define IDM_HELPINDEX 1101
|
|
#define IDM_HELPKEYS 0x001E
|
|
#define IDM_HELPCOMMANDS 0x0020
|
|
#define IDM_HELPPROCS 0x0021
|
|
#define IDM_HELPHELP 1102
|
|
#define IDM_ABOUT 1103
|
|
|
|
#define BITMAPS 100
|
|
#define FILES_WIDTH 16
|
|
#define FILES_HEIGHT 16
|
|
#define DRIVES_WIDTH 27
|
|
#define DRIVES_HEIGHT 14
|
|
|
|
#define APPICON 200
|
|
#define TREEICON 201
|
|
#define DIRICON 202
|
|
#define WINDOWSICON 203
|
|
#define TREEDIRICON 204
|
|
|
|
#define SINGLEMOVECURSOR 300 // move is even
|
|
#define MULTMOVECURSOR 302
|
|
#define SINGLECOPYCURSOR 301 // copy is odd
|
|
#define MULTCOPYCURSOR 303
|
|
|
|
#define APPCURSOR 300
|
|
#define DIRCURSOR 301
|
|
#define DOCCURSOR 302
|
|
#define FILECURSOR 304
|
|
#define FILESCURSOR 305
|
|
#define SPLITCURSOR 306
|
|
|
|
#define APPCURSORC 310
|
|
#define DIRCURSORC 311
|
|
#define DOCCURSORC 312
|
|
#define FILECURSORC 314
|
|
#define FILESCURSORC 315
|
|
|
|
#define WFACCELTABLE 400
|
|
|
|
#define FRAMEMENU 500
|
|
|
|
/* Indexes into the mondo bitmap */
|
|
#define BM_IND_APP 0
|
|
#define BM_IND_DOC 1
|
|
#define BM_IND_FIL 2
|
|
#define BM_IND_RO 3
|
|
#define BM_IND_DIRUP 4
|
|
#define BM_IND_CLOSE 5
|
|
#define BM_IND_CLOSEPLUS 6
|
|
#define BM_IND_OPEN 7
|
|
#define BM_IND_OPENPLUS 8
|
|
#define BM_IND_OPENMINUS 9
|
|
#define BM_IND_CLOSEMINUS 10
|
|
#define BM_IND_CLOSEDFS 11
|
|
#define BM_IND_OPENDFS 12
|
|
#define BM_IND_TYPEBASE 13
|
|
|
|
#define IDS_ENDSESSION 40 /* Must be > 32 */
|
|
#define IDS_ENDSESSIONMSG 41
|
|
#define IDS_COPYDISK 50
|
|
#define IDS_INSERTDEST 51
|
|
#define IDS_INSERTSRC 52
|
|
#define IDS_INSERTSRCDEST 53
|
|
#define IDS_FORMATTINGDEST 54
|
|
#define IDS_COPYDISKERR 55
|
|
#define IDS_COPYDISKERRMSG 56
|
|
#define IDS_COPYDISKSELMSG 57
|
|
#define IDS_COPYSRCDESTINCOMPAT 58
|
|
#define IDS_PERCENTCOMP 60
|
|
#define IDS_CREATEROOT 61
|
|
#define IDS_COPYSYSFILES 62
|
|
#define IDS_FORMATERR 63
|
|
#define IDS_FORMATERRMSG 64
|
|
//#define IDS_FORMATCURERR 65
|
|
#define IDS_FORMATCOMPLETE 66
|
|
#define IDS_FORMATANOTHER 67
|
|
#define IDS_FORMATCANCELLED 68
|
|
#define IDS_SYSDISK 70
|
|
#define IDS_SYSDISKRUSURE 71
|
|
#define IDS_SYSDISKERR 72
|
|
#define IDS_SYSDISKNOFILES 73
|
|
#define IDS_SYSDISKSAMEDRIVE 74
|
|
#define IDS_SYSDISKADDERR 75
|
|
#define IDS_NETERR 80
|
|
#define IDS_NETCONERRMSG 81
|
|
#define IDS_NETDISCONCURERR 82
|
|
#define IDS_NETDISCONWINERR 83
|
|
#define IDS_NETDISCON 84
|
|
#define IDS_NETDISCONRUSURE 85
|
|
#define IDS_NETDISCONERRMSG 86
|
|
#define IDS_FILESYSERR 90
|
|
#define IDS_ATTRIBERR 91
|
|
#define IDS_MAKEDIRERR 92
|
|
#define IDS_LABELDISKERR 93
|
|
#define IDS_SEARCHERR 94
|
|
#define IDS_SEARCHNOMATCHES 95
|
|
#define IDS_MAKEDIREXISTS 96
|
|
#define IDS_SEARCHREFRESH 97
|
|
#define IDS_ASSOCFILE 100
|
|
#define IDS_DRIVETEMP 101
|
|
#define IDS_EXECERRTITLE 110
|
|
#define IDS_UNKNOWNMSG 111
|
|
#define IDS_NOMEMORYMSG 112
|
|
#define IDS_FILENOTFOUNDMSG 113
|
|
#define IDS_BADPATHMSG 114
|
|
#define IDS_MANYOPENFILESMSG 115
|
|
#define IDS_NOASSOCMSG 116
|
|
#define IDS_MULTIPLEDSMSG 117
|
|
#define IDS_ASSOCINCOMPLETE 118
|
|
#define IDS_MOUSECONFIRM 120
|
|
#define IDS_COPYMOUSECONFIRM 121
|
|
#define IDS_MOVEMOUSECONFIRM 122
|
|
#define IDS_EXECMOUSECONFIRM 123
|
|
#define IDS_WINFILE 124
|
|
#define IDS_ONLYONE 125
|
|
#define IDS_TREETITLE 126
|
|
#define IDS_SEARCHTITLE 127
|
|
#define IDS_NOFILESTITLE 130
|
|
#define IDS_NOFILESMSG 131
|
|
#define IDS_TOOMANYTITLE 132
|
|
#define IDS_OOMTITLE 133
|
|
#define IDS_OOMREADINGDIRMSG 134
|
|
#define IDS_CURDIRIS 140
|
|
#define IDS_COPY 141
|
|
#define IDS_ANDCOPY 142
|
|
#define IDS_RENAME 143
|
|
#define IDS_ANDRENAME 144
|
|
#define IDS_FORMAT 145
|
|
#define IDS_FORMATSELDISK 146
|
|
//#define IDS_MAKESYSDISK 147
|
|
#define IDS_DISCONNECT 148
|
|
#define IDS_DISCONSELDISK 149
|
|
#define IDS_CREATINGMSG 150
|
|
#define IDS_REMOVINGMSG 151
|
|
#define IDS_COPYINGMSG 152
|
|
#define IDS_RENAMINGMSG 153
|
|
#define IDS_MOVINGMSG 154
|
|
#define IDS_DELETINGMSG 155
|
|
#define IDS_PRINTINGMSG 156
|
|
#define IDS_NOSUCHDRIVE 160
|
|
#define IDS_MOVEREADONLY 161
|
|
#define IDS_RENAMEREADONLY 162
|
|
#define IDS_CONFIRMREPLACE 163
|
|
#define IDS_CONFIRMREPLACERO 164 /* Confirm/readonly */
|
|
#define IDS_CONFIRMRMDIR 165 /* Must be confirm + 1 */
|
|
#define IDS_CONFIRMRMDIRRO 166
|
|
#define IDS_CONFIRMDELETE 167
|
|
#define IDS_CONFIRMDELETERO 168
|
|
#define IDS_COPYINGTITLE 169
|
|
#define IDS_REMOVINGDIRMSG 170
|
|
#define IDS_STATUSMSG 180
|
|
#define IDS_DIRSREAD 181
|
|
#define IDS_DRIVEFREE 182
|
|
#define IDS_SEARCHMSG 183
|
|
#define IDS_DRIVE 184
|
|
#define IDS_SELECTEDFILES 185
|
|
#define IDS_NETDISCONOPEN 186
|
|
#define IDS_STATUSMSG2 187
|
|
#define IDS_DRIVENOTREADY 188
|
|
#define IDS_UNFORMATTED 189
|
|
|
|
#define IDS_CANTPRINTTITLE 190
|
|
#define IDS_PRINTFNF 191
|
|
#define IDS_PRINTDISK 192
|
|
#define IDS_PRINTMEMORY 193
|
|
#define IDS_PRINTERROR 194
|
|
#define IDS_TREEABORT 195
|
|
#define IDS_TREEABORTTITLE 196
|
|
#define IDS_DESTFULL 197
|
|
#define IDS_WRITEPROTECTFILE 198
|
|
#define IDS_FORMATQUICKFAILURE 199
|
|
|
|
#define IDS_OS2APPMSG 200
|
|
#define IDS_NEWWINDOWSMSG 201
|
|
#define IDS_PMODEONLYMSG 202
|
|
|
|
#define IDS_DDEFAIL 203
|
|
|
|
#define IDS_FORMATCONFIRM 210
|
|
#define IDS_FORMATCONFIRMTITLE 211
|
|
#define IDS_DISKCOPYCONFIRM 212
|
|
#define IDS_DISKCOPYCONFIRMTITLE 213
|
|
#define IDS_CLOSE 214
|
|
#define IDS_UNDELETE 215
|
|
#define IDS_CONNECT 216
|
|
#define IDS_CONNECTIONS 217
|
|
#define IDS_PATHNOTTHERE 218
|
|
#define IDS_PROGRAMS 219
|
|
#define IDS_ASSOCIATE 220
|
|
#define IDS_RUN 221
|
|
#define IDS_PRINTERRTITLE 222
|
|
#define IDS_WINHELPERR 223
|
|
#define IDS_NOEXEASSOC 224
|
|
#define IDS_ASSOCNOTEXE 225
|
|
#define IDS_ASSOCNONE 226
|
|
#define IDS_NOFILES 227
|
|
#define IDS_PRINTONLYONE 228
|
|
#define IDS_COMPRESSEDEXE 229
|
|
#define IDS_INVALIDDLL 230
|
|
#define IDS_SHAREERROR 231
|
|
#define IDS_CREATELONGDIR 232
|
|
#define IDS_CREATELONGDIRTITLE 233
|
|
#define IDS_BYTES 234
|
|
#define IDS_SBYTES 235
|
|
|
|
#define IDS_DRIVEBASE 300
|
|
#define IDS_12MB (300 + DS96)
|
|
#define IDS_360KB (300 + DS48)
|
|
#define IDS_144MB (300 + DS144M)
|
|
#define IDS_720KB (300 + DS720KB)
|
|
#define IDS_288MB (300 + DS288M)
|
|
#define IDS_DEVICECAP (300 + DS288M + 1)
|
|
|
|
|
|
#define IDS_FFERR_MEM 400
|
|
#define IDS_FFERR_USERABORT 401
|
|
#define IDS_FFERR_SRCEQDST 402
|
|
#define IDS_FFERR_SECSIZE 403
|
|
#define IDS_FFERR_DRIVETYPE 404
|
|
//#define IDS_FFERR_BADTRACK 405
|
|
//#define IDS_FFERR_WRITEBOOT 406
|
|
//#define IDS_FFERR_WRITEFAT 407
|
|
//#define IDS_FFERR_WRITEROOT 408
|
|
#define IDS_FFERR_SYSFILES 409
|
|
#define IDS_FFERR_MEDIASENSE 410
|
|
#define IDS_FFERR 411
|
|
|
|
#define IDS_OPENINGMSG 420
|
|
#define IDS_CLOSINGMSG 421
|
|
|
|
|
|
#define IDS_COPYERROR 1000
|
|
#define IDS_VERBS 1010
|
|
#define IDS_ACTIONS 1020
|
|
#define IDS_REPLACING 1030
|
|
#define IDS_CREATING 1031
|
|
#define IDS_REASONS 1040 // error codes strings (range += 255)
|
|
|
|
|
|
#define DE_INVFUNCTION 0x01 // DOS error codes (int21 returns)
|
|
#define DE_FILENOTFOUND 0x02
|
|
#define DE_PATHNOTFOUND 0x03
|
|
#define DE_NOHANDLES 0x04
|
|
#define DE_ACCESSDENIED 0x05
|
|
#define DE_INVHANDLE 0x06
|
|
#define DE_INSMEM 0x08
|
|
#define DE_INVFILEACCESS 0x0C
|
|
#define DE_DELCURDIR 0x10
|
|
#define DE_NOTSAMEDEVICE 0x11
|
|
#define DE_NODIRENTRY 0x12
|
|
|
|
#define DE_WRITEPROTECTED 0x13 // extended error start here
|
|
#define DE_ACCESSDENIEDNET 0x41
|
|
|
|
#define DE_NODISKSPACE 0x70 // our own error codes
|
|
#define DE_SAMEFILE 0x71
|
|
#define DE_MANYSRC1DEST 0x72
|
|
#define DE_DIFFDIR 0x73
|
|
#define DE_ROOTDIR 0x74
|
|
#define DE_OPCANCELLED 0x75
|
|
#define DE_DESTSUBTREE 0x76
|
|
#define DE_WINDOWSFILE 0x77
|
|
#define DE_ACCESSDENIEDSRC 0x78
|
|
#define DE_PATHTODEEP 0x79
|
|
#define DE_MANYDEST 0x7A
|
|
#define DE_RENAMREPLACE 0x7B
|
|
#define DE_HOWDIDTHISHAPPEN 0xFF // internal error
|
|
|
|
#define ERRORONDEST 0x80 // indicate error on destination file
|
|
|
|
|
|
#include "wfdlgs.h"
|
|
|
|
// struct for save and restore of window positions
|
|
|
|
typedef struct {
|
|
CHAR szDir[MAXPATHLEN];
|
|
RECT rc;
|
|
POINT pt;
|
|
INT sw;
|
|
INT view;
|
|
INT sort;
|
|
INT attribs;
|
|
INT split;
|
|
} SAVE_WINDOW, NEAR *PSAVE_WINDOW;
|
|
|
|
|
|
#define SC_SPLIT 100
|
|
|
|
// Temporary. copied from win31 windows.h and slightly modified.
|
|
// We can delete these definitions once USER incorporates these in winuser.h
|
|
|
|
#define GlobalAllocPtr(flags, cb) \
|
|
(GlobalLock(GlobalAlloc((flags), (cb))))
|
|
#define GlobalFreePtr(lp) \
|
|
(GlobalUnlock(lp), (BOOL)(ULONG_PTR)GlobalFree((lp)))
|
|
|
|
|
|
WORD APIENTRY WFRemove(PSTR pszFile);
|
|
WORD APIENTRY WFMove(PSTR pszFrom, PSTR pszTo);
|
|
|
|
// These errors aren't in shellapi.h as yet. till such time...
|
|
/* error values for ShellExecute() beyond the regular WinExec() codes */
|
|
#define SE_ERR_SHARE 26
|
|
#define SE_ERR_ASSOCINCOMPLETE 27
|
|
#define SE_ERR_DDETIMEOUT 28
|
|
#define SE_ERR_DDEFAIL 29
|
|
#define SE_ERR_DDEBUSY 30
|
|
#define SE_ERR_NOASSOC 31
|
|
|
|
// the LPDROPSTRUCT->dwData will point to this structure
|
|
|
|
typedef struct { /* dodata */
|
|
LPSTR pch; // in win31 this is LOWORD(lpds->dwData)
|
|
HANDLE hMemGlobal; // in win31 this is HIWORD(lpds->dwData)
|
|
} DRAGOBJECTDATA, FAR *LPDRAGOBJECTDATA;
|
|
|
|
|
|
#include "dlg.h"
|