|
@@ -108,7 +108,918 @@ Const
|
|
|
SHCOLSTATE_HIDDEN = $100;
|
|
|
SHCOLSTATE_PREFER_VARCMP = $200;
|
|
|
|
|
|
-Type
|
|
|
+ GIL_OPENICON = $0001; // allows containers to specify an "open" look
|
|
|
+ GIL_FORSHELL = $0002; // icon is to be displayed in a ShellFolder
|
|
|
+ GIL_ASYNC = $0020; // this is an async extract, return E_PENDING
|
|
|
+ GIL_DEFAULTICON = $0040; // get the default icon location if the final one takes too long to get
|
|
|
+ GIL_FORSHORTCUT = $0080; // the icon is for a shortcut to the object
|
|
|
+
|
|
|
+// GetIconLocation() return flags
|
|
|
+
|
|
|
+ GIL_SIMULATEDOC = $0001; // simulate this document icon for this
|
|
|
+ GIL_PERINSTANCE = $0002; // icons from this class are per instance (each file has its own)
|
|
|
+ GIL_PERCLASS = $0004; // icons from this class per class (shared for all files of this type)
|
|
|
+ GIL_NOTFILENAME = $0008; // location is not a filename, must call ::ExtractIcon
|
|
|
+ GIL_DONTCACHE = $0010; // this icon should not be cached
|
|
|
+
|
|
|
+// QueryContextMenu uFlags
|
|
|
+ CMF_NORMAL = $00000000;
|
|
|
+ CMF_DEFAULTONLY = $00000001;
|
|
|
+ CMF_VERBSONLY = $00000002;
|
|
|
+ CMF_EXPLORE = $00000004;
|
|
|
+ CMF_NOVERBS = $00000008;
|
|
|
+ CMF_CANRENAME = $00000010;
|
|
|
+ CMF_NODEFAULT = $00000020;
|
|
|
+ CMF_INCLUDESTATIC = $00000040;
|
|
|
+ CMF_EXTENDEDVERBS = $00000100; // rarely used verbs
|
|
|
+ CMF_RESERVED = $ffff0000; // View specific
|
|
|
+
|
|
|
+// GetCommandString uFlags
|
|
|
+ GCS_VERBA = $00000000; // canonical verb
|
|
|
+ GCS_HELPTEXTA = $00000001; // help text (for status bar)
|
|
|
+ GCS_VALIDATEA = $00000002; // validate command exists
|
|
|
+ GCS_VERBW = $00000004; // canonical verb (unicode)
|
|
|
+ GCS_HELPTEXTW = $00000005; // help text (unicode version)
|
|
|
+ GCS_VALIDATEW = $00000006; // validate command exists (unicode)
|
|
|
+ GCS_UNICODE = $00000004; // for bit testing - Unicode string
|
|
|
+
|
|
|
+{$ifdef UNICODE}
|
|
|
+ GCS_VERB = GCS_VERBW;
|
|
|
+ GCS_HELPTEXT = GCS_HELPTEXTW;
|
|
|
+ GCS_VALIDATE = GCS_VALIDATEW;
|
|
|
+{$else}
|
|
|
+ GCS_VERB = GCS_VERBA;
|
|
|
+ GCS_HELPTEXT = GCS_HELPTEXTA;
|
|
|
+ GCS_VALIDATE = GCS_VALIDATEA;
|
|
|
+{$endif}
|
|
|
+
|
|
|
+ SLDF_HAS_ID_LIST = $00000001; // Shell link saved with ID list
|
|
|
+ SLDF_HAS_LINK_INFO = $00000002; // Shell link saved with LinkInfo
|
|
|
+ SLDF_HAS_NAME = $00000004;
|
|
|
+ SLDF_HAS_RELPATH = $00000008;
|
|
|
+ SLDF_HAS_WORKINGDIR = $00000010;
|
|
|
+ SLDF_HAS_ARGS = $00000020;
|
|
|
+ SLDF_HAS_ICONLOCATION = $00000040;
|
|
|
+ SLDF_UNICODE = $00000080; // the strings are unicode
|
|
|
+ SLDF_FORCE_NO_LINKINFO = $00000100; // don't create a LINKINFO (make a dumb link)
|
|
|
+ SLDF_HAS_EXP_SZ = $00000200; // the link contains expandable env strings
|
|
|
+ SLDF_RUN_IN_SEPARATE = $00000400; // Run the 16-bit target exe in a separate VDM/WOW
|
|
|
+ SLDF_HAS_LOGO3ID = $00000800; // this link is a special Logo3/MSICD link
|
|
|
+ SLDF_HAS_DARWINID = $00001000; // this link is a special Darwin link
|
|
|
+ SLDF_RUNAS_USER = $00002000; // Run this link as a different user
|
|
|
+ SLDF_HAS_EXP_ICON_SZ = $00004000; // contains expandable env string for icon path
|
|
|
+ SLDF_NO_PIDL_ALIAS = $00008000; // don't ever resolve to a logical location
|
|
|
+ SLDF_FORCE_UNCNAME = $00010000; // make GetPath() prefer the UNC name to the local name
|
|
|
+ SLDF_RUN_WITH_SHIMLAYER = $00020000; // Launch the target of this link w/ shim layer active
|
|
|
+ SLDF_RESERVED = $80000000; // Reserved-- so we can use the low word as an index value in the future
|
|
|
+
|
|
|
+// Define File View Show Info Flags.
|
|
|
+ FVSIF_RECT = $00000001; // The rect variable has valid data.
|
|
|
+ FVSIF_PINNED = $00000002; // We should Initialize pinned
|
|
|
+ FVSIF_NEWFAILED = $08000000; // The new file passed back failed
|
|
|
+ // to be viewed.
|
|
|
+ FVSIF_NEWFILE = dword($80000000); // A new file to view has been returned
|
|
|
+ FVSIF_CANVIEWIT = $40000000; // The viewer can view it.
|
|
|
+
|
|
|
+ FCIDM_SHVIEWFIRST = $0000;
|
|
|
+ FCIDM_SHVIEWLAST = $7fff;
|
|
|
+ FCIDM_BROWSERFIRST = $a000;
|
|
|
+ FCIDM_BROWSERLAST = $bf00;
|
|
|
+ FCIDM_GLOBALFIRST = $8000;
|
|
|
+ FCIDM_GLOBALLAST = $9fff;
|
|
|
+
|
|
|
+//
|
|
|
+// Global submenu IDs and separator IDs
|
|
|
+//
|
|
|
+ FCIDM_MENU_FILE = (FCIDM_GLOBALFIRST+$0000);
|
|
|
+ FCIDM_MENU_EDIT = (FCIDM_GLOBALFIRST+$0040);
|
|
|
+ FCIDM_MENU_VIEW = (FCIDM_GLOBALFIRST+$0080);
|
|
|
+ FCIDM_MENU_VIEW_SEP_OPTIONS = (FCIDM_GLOBALFIRST+$0081);
|
|
|
+ FCIDM_MENU_TOOLS = (FCIDM_GLOBALFIRST+$00c0); // for Win9x compat
|
|
|
+ FCIDM_MENU_TOOLS_SEP_GOTO = (FCIDM_GLOBALFIRST+$00c1); // for Win9x compat
|
|
|
+ FCIDM_MENU_HELP = (FCIDM_GLOBALFIRST+$0100);
|
|
|
+ FCIDM_MENU_FIND = (FCIDM_GLOBALFIRST+$0140);
|
|
|
+ FCIDM_MENU_EXPLORE = (FCIDM_GLOBALFIRST+$0150);
|
|
|
+ FCIDM_MENU_FAVORITES = (FCIDM_GLOBALFIRST+$0170);
|
|
|
+
|
|
|
+ PANE_NONE = -1;
|
|
|
+ PANE_ZONE = 1;
|
|
|
+ PANE_OFFLINE = 2;
|
|
|
+ PANE_PRINTER = 3;
|
|
|
+ PANE_SSL = 4;
|
|
|
+ PANE_NAVIGATION = 5;
|
|
|
+ PANE_PROGRESS = 6;
|
|
|
+ PANE_PRIVACY = 7;
|
|
|
+ CDBOSC_SETFOCUS = $00000000;
|
|
|
+ CDBOSC_KILLFOCUS = $00000001;
|
|
|
+ CDBOSC_SELCHANGE = $00000002;
|
|
|
+ CDBOSC_RENAME = $00000003;
|
|
|
+ CDBOSC_STATECHANGE = $00000004;
|
|
|
+ CDB2N_CONTEXTMENU_DONE = $00000001;
|
|
|
+ CDB2N_CONTEXTMENU_START = $00000002;
|
|
|
+
|
|
|
+//GetViewFlags
|
|
|
+ CDB2GVF_SHOWALLFILES = $00000001;
|
|
|
+
|
|
|
+ CSIDL_DESKTOP = $0000; // <desktop>
|
|
|
+ CSIDL_INTERNET = $0001; // Internet Explorer (icon on desktop)
|
|
|
+ CSIDL_PROGRAMS = $0002; // Start Menu\Programs
|
|
|
+ CSIDL_CONTROLS = $0003; // My Computer\Control Panel
|
|
|
+ CSIDL_PRINTERS = $0004; // My Computer\Printers
|
|
|
+ CSIDL_PERSONAL = $0005; // My Documents
|
|
|
+ CSIDL_FAVORITES = $0006; // <user name>\Favorites
|
|
|
+ CSIDL_STARTUP = $0007; // Start Menu\Programs\Startup
|
|
|
+ CSIDL_RECENT = $0008; // <user name>\Recent
|
|
|
+ CSIDL_SENDTO = $0009; // <user name>\SendTo
|
|
|
+ CSIDL_BITBUCKET = $000a; // <desktop>\Recycle Bin
|
|
|
+ CSIDL_STARTMENU = $000b; // <user name>\Start Menu
|
|
|
+ CSIDL_MYDOCUMENTS = $000c; // logical "My Documents" desktop icon
|
|
|
+ CSIDL_MYMUSIC = $000d; // "My Music" folder
|
|
|
+ CSIDL_MYVIDEO = $000e; // "My Videos" folder
|
|
|
+ CSIDL_DESKTOPDIRECTORY = $0010; // <user name>\Desktop
|
|
|
+ CSIDL_DRIVES = $0011; // My Computer
|
|
|
+ CSIDL_NETWORK = $0012; // Network Neighborhood (My Network Places)
|
|
|
+ CSIDL_NETHOOD = $0013; // <user name>\nethood
|
|
|
+ CSIDL_FONTS = $0014; // windows\fonts
|
|
|
+ CSIDL_TEMPLATES = $0015;
|
|
|
+ CSIDL_COMMON_STARTMENU = $0016; // All Users\Start Menu
|
|
|
+ CSIDL_COMMON_PROGRAMS = $0017; // All Users\Start Menu\Programs
|
|
|
+ CSIDL_COMMON_STARTUP = $0018; // All Users\Startup
|
|
|
+ CSIDL_COMMON_DESKTOPDIRECTORY = $0019; // All Users\Desktop
|
|
|
+ CSIDL_APPDATA = $001a; // <user name>\Application Data
|
|
|
+ CSIDL_PRINTHOOD = $001b; // <user name>\PrintHood
|
|
|
+ CSIDL_LOCAL_APPDATA = $001c; // <user name>\Local Settings\Applicaiton Data (non roaming)
|
|
|
+ CSIDL_ALTSTARTUP = $001d; // non localized startup
|
|
|
+ CSIDL_COMMON_ALTSTARTUP = $001e; // non localized common startup
|
|
|
+ CSIDL_COMMON_FAVORITES = $001f;
|
|
|
+ CSIDL_INTERNET_CACHE = $0020;
|
|
|
+ CSIDL_COOKIES = $0021;
|
|
|
+ CSIDL_HISTORY = $0022;
|
|
|
+ CSIDL_COMMON_APPDATA = $0023; // All Users\Application Data
|
|
|
+ CSIDL_WINDOWS = $0024; // GetWindowsDirectory()
|
|
|
+ CSIDL_SYSTEM = $0025; // GetSystemDirectory()
|
|
|
+ CSIDL_PROGRAM_FILES = $0026; // C:\Program Files
|
|
|
+ CSIDL_MYPICTURES = $0027; // C:\Program Files\My Pictures
|
|
|
+ CSIDL_PROFILE = $0028; // USERPROFILE
|
|
|
+ CSIDL_SYSTEMX86 = $0029; // x86 system directory on RISC
|
|
|
+ CSIDL_PROGRAM_FILESX86 = $002a; // x86 C:\Program Files on RISC
|
|
|
+ CSIDL_PROGRAM_FILES_COMMON = $002b; // C:\Program Files\Common
|
|
|
+ CSIDL_PROGRAM_FILES_COMMONX86 = $002c; // x86 Program Files\Common on RISC
|
|
|
+ CSIDL_COMMON_TEMPLATES = $002d; // All Users\Templates
|
|
|
+ CSIDL_COMMON_DOCUMENTS = $002e; // All Users\Documents
|
|
|
+ CSIDL_COMMON_ADMINTOOLS = $002f; // All Users\Start Menu\Programs\Administrative Tools
|
|
|
+ CSIDL_ADMINTOOLS = $0030; // <user name>\Start Menu\Programs\Administrative Tools
|
|
|
+ CSIDL_CONNECTIONS = $0031; // Network and Dial-up Connections
|
|
|
+ CSIDL_COMMON_MUSIC = $0035; // All Users\My Music
|
|
|
+ CSIDL_COMMON_PICTURES = $0036; // All Users\My Pictures
|
|
|
+ CSIDL_COMMON_VIDEO = $0037; // All Users\My Video
|
|
|
+ CSIDL_RESOURCES = $0038; // Resource Direcotry
|
|
|
+ CSIDL_RESOURCES_LOCALIZED = $0039; // Localized Resource Direcotry
|
|
|
+ CSIDL_COMMON_OEM_LINKS = $003a; // Links to All Users OEM specific apps
|
|
|
+ CSIDL_CDBURN_AREA = $003b; // USERPROFILE\Local Settings\Application Data\Microsoft\CD Burning
|
|
|
+// unused = $003c
|
|
|
+ CSIDL_COMPUTERSNEARME = $003d; // Computers Near Me (computered from Workgroup membership)
|
|
|
+
|
|
|
+ CSIDL_FLAG_CREATE = $8000; // combine with CSIDL_ value to force folder creation in SHGetFolderPath()
|
|
|
+ CSIDL_FLAG_DONT_VERIFY = $4000; // combine with CSIDL_ value to return an unverified folder path
|
|
|
+ CSIDL_FLAG_NO_ALIAS = $1000; // combine with CSIDL_ value to insure non-alias versions of the pidl
|
|
|
+ CSIDL_FLAG_PER_USER_INIT = $0800; // combine with CSIDL_ value to indicate per-user init (eg. upgrade)
|
|
|
+ CSIDL_FLAG_MASK = $FF00; // mask for all possible flag values
|
|
|
+ FCS_READ = $00000001;
|
|
|
+ FCS_FORCEWRITE = $00000002;
|
|
|
+ FCS_WRITE = (FCS_READ or FCS_FORCEWRITE);
|
|
|
+
|
|
|
+ FCS_FLAG_DRAGDROP = 2;
|
|
|
+
|
|
|
+// Mask which values have been retreived or being set.
|
|
|
+ FCSM_VIEWID = $00000001;
|
|
|
+ FCSM_WEBVIEWTEMPLATE = $00000002;
|
|
|
+ FCSM_INFOTIP = $00000004;
|
|
|
+ FCSM_CLSID = $00000008;
|
|
|
+ FCSM_ICONFILE = $00000010;
|
|
|
+ FCSM_LOGO = $00000020;
|
|
|
+ FCSM_FLAGS = $00000040;
|
|
|
+
|
|
|
+// Browsing for directory.
|
|
|
+ BIF_RETURNONLYFSDIRS = $0001; // For finding a folder to start document searching
|
|
|
+ BIF_DONTGOBELOWDOMAIN = $0002; // For starting the Find Computer
|
|
|
+ BIF_STATUSTEXT = $0004; // Top of the dialog has 2 lines of text for BROWSEINFO.lpszTitle and one line if
|
|
|
+ // this flag is set. Passing the message BFFM_SETSTATUSTEXTA to the hwnd can set the
|
|
|
+ // rest of the text. This is not used with BIF_USENEWUI and BROWSEINFO.lpszTitle gets
|
|
|
+ // all three lines of text.
|
|
|
+ BIF_RETURNFSANCESTORS = $0008;
|
|
|
+ BIF_EDITBOX = $0010; // Add an editbox to the dialog
|
|
|
+ BIF_VALIDATE = $0020; // insist on valid result (or CANCEL)
|
|
|
+
|
|
|
+ BIF_NEWDIALOGSTYLE = $0040; // Use the new dialog layout with the ability to resize
|
|
|
+ // Caller needs to call OleInitialize() before using this API
|
|
|
+
|
|
|
+ BIF_USENEWUI = (BIF_NEWDIALOGSTYLE or BIF_EDITBOX);
|
|
|
+
|
|
|
+ BIF_BROWSEINCLUDEURLS = $0080; // Allow URLs to be displayed or entered. (Requires BIF_USENEWUI)
|
|
|
+ BIF_UAHINT = $0100; // Add a UA hint to the dialog, in place of the edit box. May not be combined with BIF_EDITBOX
|
|
|
+ BIF_NONEWFOLDERBUTTON = $0200; // Do not add the "New Folder" button to the dialog. Only applicable with BIF_NEWDIALOGSTYLE.
|
|
|
+ BIF_NOTRANSLATETARGETS = $0400; // don't traverse target as shortcut
|
|
|
+
|
|
|
+ BIF_BROWSEFORCOMPUTER = $1000; // Browsing for Computers.
|
|
|
+ BIF_BROWSEFORPRINTER = $2000; // Browsing for Printers
|
|
|
+ BIF_BROWSEINCLUDEFILES = $4000; // Browsing for Everything
|
|
|
+ BIF_SHAREABLE = $8000; // sharable resources displayed (remote shares, requires BIF_USENEWUI)
|
|
|
+
|
|
|
+// message from browser
|
|
|
+ BFFM_INITIALIZED = 1;
|
|
|
+ BFFM_SELCHANGED = 2;
|
|
|
+ BFFM_VALIDATEFAILEDA = 3; // lParam:szPath ret:1(cont),0(EndDialog)
|
|
|
+ BFFM_VALIDATEFAILEDW = 4; // lParam:wzPath ret:1(cont),0(EndDialog)
|
|
|
+ BFFM_IUNKNOWN = 5; // provides IUnknown to client. lParam: IUnknown*
|
|
|
+
|
|
|
+// messages to browser
|
|
|
+ BFFM_SETSTATUSTEXTA = (WM_USER + 100);
|
|
|
+ BFFM_ENABLEOK = (WM_USER + 101);
|
|
|
+ BFFM_SETSELECTIONA = (WM_USER + 102);
|
|
|
+ BFFM_SETSELECTIONW = (WM_USER + 103);
|
|
|
+ BFFM_SETSTATUSTEXTW = (WM_USER + 104);
|
|
|
+ BFFM_SETOKTEXT = (WM_USER + 105); // Unicode only
|
|
|
+ BFFM_SETEXPANDED = (WM_USER + 106); // Unicode only
|
|
|
+ ISHCUTCMDID_DOWNLOADICON = 0;
|
|
|
+ ISHCUTCMDID_INTSHORTCUTCREATE = 1;
|
|
|
+ ACLO_NONE = 0; // don't enumerate anything
|
|
|
+ ACLO_CURRENTDIR = 1; // enumerate current directory
|
|
|
+ ACLO_MYCOMPUTER = 2; // enumerate MyComputer
|
|
|
+ ACLO_DESKTOP = 4; // enumerate Desktop Folder
|
|
|
+ ACLO_FAVORITES = 8; // enumerate Favorites Folder
|
|
|
+ ACLO_FILESYSONLY = 16; // enumerate only the file system
|
|
|
+ ACLO_FILESYSDIRS = 32; // enumerate only the file system dirs, UNC shares, and UNC servers.
|
|
|
+// Flags for IProgressDialog::StartProgressDialog() (dwFlags)
|
|
|
+
|
|
|
+ PROGDLG_NORMAL = $00000000; // default normal progress dlg behavior
|
|
|
+ PROGDLG_MODAL = $00000001; // the dialog is modal to its hwndParent (default is modeless)
|
|
|
+ PROGDLG_AUTOTIME = $00000002; // automatically updates the "Line3" text with the "time remaining" (you cant call SetLine3 if you passs this!)
|
|
|
+ PROGDLG_NOTIME = $00000004; // we dont show the "time remaining" if this is set. We need this if dwTotal < dwCompleted for sparse files
|
|
|
+ PROGDLG_NOMINIMIZE = $00000008; // Do not have a minimize button in the caption bar.
|
|
|
+ PROGDLG_NOPROGRESSBAR = $00000010; // Don't display the progress bar
|
|
|
+
|
|
|
+// Time Actions (dwTimerAction)
|
|
|
+ PDTIMER_RESET = $00000001; // Reset the timer so the progress will be calculated from now until the first ::SetProgress() is called so
|
|
|
+ // those this time will correspond to the values passed to ::SetProgress(). Only do this before ::SetProgress() is called.
|
|
|
+// flags for RemoveToolbar
|
|
|
+ DWFRF_NORMAL = $0000;
|
|
|
+ DWFRF_DELETECONFIGDATA = $0001;
|
|
|
+
|
|
|
+// flags for AddToolbar
|
|
|
+ DWFAF_HIDDEN = $0001; // add hidden
|
|
|
+
|
|
|
+// Convenient state values
|
|
|
+ IRTIR_TASK_NOT_RUNNING = 0;
|
|
|
+ IRTIR_TASK_RUNNING = 1;
|
|
|
+ IRTIR_TASK_SUSPENDED = 2;
|
|
|
+ IRTIR_TASK_PENDING = 3;
|
|
|
+ IRTIR_TASK_FINISHED = 4;
|
|
|
+
|
|
|
+// Status() flags,
|
|
|
+// wait for the current task to complete before deleting the scheduler
|
|
|
+ ITSSFLAG_COMPLETE_ON_DESTROY = $0000;
|
|
|
+
|
|
|
+// kill the current task (if there is one) when the task scheduler is deleted
|
|
|
+ ITSSFLAG_KILL_ON_DESTROY = $0001;
|
|
|
+ ITSSFLAG_SUPPORTS_TERMINATE = $0002;
|
|
|
+ ITSSFLAG_FLAGS_MASK = $0003;
|
|
|
+
|
|
|
+// set the timeout for killing the thread when the object is terminated.
|
|
|
+// this timeout can be used to stop the object from blocking the system
|
|
|
+// indefinitely.
|
|
|
+ ITSSFLAG_THREAD_TERMINATE_TIMEOUT = $0010;
|
|
|
+
|
|
|
+// set the timeout for threads that are idle in the thread pool
|
|
|
+ ITSSFLAG_THREAD_POOL_TIMEOUT = $0020;
|
|
|
+
|
|
|
+// The default timeout passed to release Status to determine how long the thread
|
|
|
+// can be asleep before the thread is expired
|
|
|
+ ITSS_THREAD_DESTROY_DEFAULT_TIMEOUT = (60*1000);
|
|
|
+
|
|
|
+// default, we won't kill it...
|
|
|
+ ITSS_THREAD_TERMINATE_TIMEOUT = (INFINITE);
|
|
|
+
|
|
|
+// there is no change to the thread timeout
|
|
|
+ ITSS_THREAD_TIMEOUT_NO_CHANGE = (INFINITE - 1);
|
|
|
+
|
|
|
+// the LPARAM allows task to be associated with items thus all tasks owned by a
|
|
|
+// particular item can be accessed by passing a non default value for this parameter
|
|
|
+ ITSAT_DEFAULT_LPARAM = $ffffffff;
|
|
|
+
|
|
|
+// Task priorities
|
|
|
+// ---------------
|
|
|
+// This depends on the cooperation of tasks currently under execution. New tasks will
|
|
|
+// be inserted in the queue in priority order. If a task of a low priority is currently
|
|
|
+// under execution when a higher priority task is added, the scheduler will attempt
|
|
|
+// to suspend the task currently under execution. It will be resumed when the other tasks
|
|
|
+// have been completed.
|
|
|
+ ITSAT_DEFAULT_PRIORITY = $10000000;
|
|
|
+ ITSAT_MAX_PRIORITY = $7fffffff;
|
|
|
+ ITSAT_MIN_PRIORITY = $00000000;
|
|
|
+ ITSSFLAG_TASK_PLACEINFRONT = $00000001;
|
|
|
+ ITSSFLAG_TASK_PLACEINBACK = $00000002;
|
|
|
+ SHIMSTCAPFLAG_LOCKABLE = $0001; // does the store require/support locking
|
|
|
+ SHIMSTCAPFLAG_PURGEABLE = $0002; // does the store require dead items purging externally ?
|
|
|
+//// IShellFolderBand
|
|
|
+
|
|
|
+// Field mask
|
|
|
+ ISFB_MASK_STATE = $00000001; // TRUE if dwStateMask and dwState is valid
|
|
|
+ ISFB_MASK_BKCOLOR = $00000002; // TRUE if crBkgnd field is valid
|
|
|
+ ISFB_MASK_VIEWMODE = $00000004; // TRUE if wViewMode field is valid
|
|
|
+ ISFB_MASK_SHELLFOLDER = $00000008;
|
|
|
+ ISFB_MASK_IDLIST = $00000010;
|
|
|
+ ISFB_MASK_COLORS = $00000020; // TRUE if crXXXX fields are valid (except bkgnd)
|
|
|
+
|
|
|
+ ISFB_STATE_DEFAULT = $00000000;
|
|
|
+ ISFB_STATE_DEBOSSED = $00000001;
|
|
|
+ ISFB_STATE_ALLOWRENAME = $00000002;
|
|
|
+ ISFB_STATE_NOSHOWTEXT = $00000004; // TRUE if _fNoShowText
|
|
|
+ ISFB_STATE_CHANNELBAR = $00000010; // TRUE if we want NavigateTarget support
|
|
|
+ ISFB_STATE_QLINKSMODE = $00000020; // TRUE if we want to turn off drag & drop onto content items
|
|
|
+ ISFB_STATE_FULLOPEN = $00000040; // TRUE if band should maximize when opened
|
|
|
+ ISFB_STATE_NONAMESORT = $00000080; // TRUE if band should _not_ sort icons by name
|
|
|
+ ISFB_STATE_BTNMINSIZE = $00000100; // TRUE if band should report min thickness of button
|
|
|
+
|
|
|
+ ISFBVIEWMODE_SMALLICONS = $0001;
|
|
|
+ ISFBVIEWMODE_LARGEICONS = $0002;
|
|
|
+ ISFBVIEWMODE_LOGOS = $0003;
|
|
|
+
|
|
|
+ DBC_GS_IDEAL = 0; // get the ideal size
|
|
|
+ DBC_GS_SIZEDOWN = 1; // clip the height of a rect to a multiple of the rebar's integral size
|
|
|
+
|
|
|
+
|
|
|
+ DBC_HIDE = 0; // Band is hidden (being destroyed)
|
|
|
+ DBC_SHOW = 1; // Band is visible
|
|
|
+ DBC_SHOWOBSCURE = 2; // Band is completely obscured
|
|
|
+// iCompType values
|
|
|
+ COMP_TYPE_HTMLDOC = 0;
|
|
|
+ COMP_TYPE_PICTURE = 1;
|
|
|
+ COMP_TYPE_WEBSITE = 2;
|
|
|
+ COMP_TYPE_CONTROL = 3;
|
|
|
+ COMP_TYPE_CFHTML = 4;
|
|
|
+ COMP_TYPE_MAX = 4;
|
|
|
+// Defines for dwCurItemState
|
|
|
+ IS_NORMAL = $00000001;
|
|
|
+ IS_FULLSCREEN = $00000002;
|
|
|
+ IS_SPLIT = $00000004;
|
|
|
+ IS_VALIDSIZESTATEBITS = (IS_NORMAL or IS_SPLIT or IS_FULLSCREEN); // The set of IS_* state bits which define the "size" of the component - these bits are mutually exclusive.
|
|
|
+ IS_VALIDSTATEBITS = (IS_NORMAL or IS_SPLIT or IS_FULLSCREEN or $80000000 or $40000000); // All of the currently defined IS_* bits.
|
|
|
+
|
|
|
+////////////////////////////////////////////
|
|
|
+// Flags for IActiveDesktop::ApplyChanges()
|
|
|
+ AD_APPLY_SAVE = $00000001;
|
|
|
+ AD_APPLY_HTMLGEN = $00000002;
|
|
|
+ AD_APPLY_REFRESH = $00000004;
|
|
|
+ AD_APPLY_ALL = (AD_APPLY_SAVE or AD_APPLY_HTMLGEN or AD_APPLY_REFRESH);
|
|
|
+ AD_APPLY_FORCE = $00000008;
|
|
|
+ AD_APPLY_BUFFERED_REFRESH = $00000010;
|
|
|
+ AD_APPLY_DYNAMICREFRESH = $00000020;
|
|
|
+
|
|
|
+////////////////////////////////////////////
|
|
|
+// Flags for IActiveDesktop::GetWallpaperOptions()
|
|
|
+// IActiveDesktop::SetWallpaperOptions()
|
|
|
+ WPSTYLE_CENTER = 0;
|
|
|
+ WPSTYLE_TILE = 1;
|
|
|
+ WPSTYLE_STRETCH = 2;
|
|
|
+ WPSTYLE_MAX = 3;
|
|
|
+
|
|
|
+////////////////////////////////////////////
|
|
|
+// Flags for IActiveDesktop::ModifyComponent()
|
|
|
+
|
|
|
+ COMP_ELEM_TYPE = $00000001;
|
|
|
+ COMP_ELEM_CHECKED = $00000002;
|
|
|
+ COMP_ELEM_DIRTY = $00000004;
|
|
|
+ COMP_ELEM_NOSCROLL = $00000008;
|
|
|
+ COMP_ELEM_POS_LEFT = $00000010;
|
|
|
+ COMP_ELEM_POS_TOP = $00000020;
|
|
|
+ COMP_ELEM_SIZE_WIDTH = $00000040;
|
|
|
+ COMP_ELEM_SIZE_HEIGHT = $00000080;
|
|
|
+ COMP_ELEM_POS_ZINDEX = $00000100;
|
|
|
+ COMP_ELEM_SOURCE = $00000200;
|
|
|
+ COMP_ELEM_FRIENDLYNAME = $00000400;
|
|
|
+ COMP_ELEM_SUBSCRIBEDURL = $00000800;
|
|
|
+ COMP_ELEM_ORIGINAL_CSI = $00001000;
|
|
|
+ COMP_ELEM_RESTORED_CSI = $00002000;
|
|
|
+ COMP_ELEM_CURITEMSTATE = $00004000;
|
|
|
+
|
|
|
+ COMP_ELEM_ALL = (COMP_ELEM_TYPE or COMP_ELEM_CHECKED or COMP_ELEM_DIRTY or
|
|
|
+ COMP_ELEM_NOSCROLL or COMP_ELEM_POS_LEFT or COMP_ELEM_SIZE_WIDTH or
|
|
|
+ COMP_ELEM_SIZE_HEIGHT or COMP_ELEM_POS_ZINDEX or COMP_ELEM_SOURCE or
|
|
|
+ COMP_ELEM_FRIENDLYNAME or COMP_ELEM_POS_TOP or COMP_ELEM_SUBSCRIBEDURL or
|
|
|
+ COMP_ELEM_ORIGINAL_CSI or COMP_ELEM_RESTORED_CSI or COMP_ELEM_CURITEMSTATE);
|
|
|
+
|
|
|
+
|
|
|
+////////////////////////////////////////////
|
|
|
+// Flags for IActiveDesktop::AddDesktopItemWithUI()
|
|
|
+ DTI_ADDUI_DEFAULT = $00000000;
|
|
|
+ DTI_ADDUI_DISPSUBWIZARD = $00000001;
|
|
|
+ DTI_ADDUI_POSITIONITEM = $00000002;
|
|
|
+
|
|
|
+
|
|
|
+////////////////////////////////////////////
|
|
|
+// Flags for IActiveDesktop::AddUrl()
|
|
|
+ ADDURL_SILENT = $0001;
|
|
|
+
|
|
|
+// Default positions for ADI
|
|
|
+ COMPONENT_DEFAULT_LEFT = $FFFF;
|
|
|
+ COMPONENT_DEFAULT_TOP = $FFFF;
|
|
|
+// Flags for SetSafeMode
|
|
|
+ SSM_CLEAR = $0000;
|
|
|
+ SSM_SET = $0001;
|
|
|
+ SSM_REFRESH = $0002;
|
|
|
+ SSM_UPDATE = $0004;
|
|
|
+
|
|
|
+// Flags for Set/GetScheme
|
|
|
+ SCHEME_DISPLAY = $0001;
|
|
|
+ SCHEME_EDIT = $0002;
|
|
|
+ SCHEME_LOCAL = $0004;
|
|
|
+ SCHEME_GLOBAL = $0008;
|
|
|
+ SCHEME_REFRESH = $0010;
|
|
|
+ SCHEME_UPDATE = $0020;
|
|
|
+ SCHEME_DONOTUSE = $0040; // used to be SCHEME_ENUMERATE; no longer supported
|
|
|
+ SCHEME_CREATE = $0080;
|
|
|
+
|
|
|
+ SHCDF_UPDATEITEM = $00000001; // this flag is a hint that the file has changed since the last call to GetItemData
|
|
|
+
|
|
|
+ DVASPECT_SHORTNAME = 2; // use for CF_HDROP to get short name version of file paths
|
|
|
+ DVASPECT_COPY = 3; // use to indicate format is a "Copy" of the data (FILECONTENTS, FILEDESCRIPTOR, etc)
|
|
|
+ DVASPECT_LINK = 4; // use to indicate format is a "Shortcut" to the data (FILECONTENTS, FILEDESCRIPTOR, etc)
|
|
|
+ FD_CLSID = $0001;
|
|
|
+ FD_SIZEPOINT = $0002;
|
|
|
+ FD_ATTRIBUTES = $0004;
|
|
|
+ FD_CREATETIME = $0008;
|
|
|
+ FD_ACCESSTIME = $0010;
|
|
|
+ FD_WRITESTIME = $0020;
|
|
|
+ FD_FILESIZE = $0040;
|
|
|
+ FD_PROGRESSUI = $4000; // Show Progress UI w/Drag and Drop
|
|
|
+ FD_LINKUI = $8000; // 'link' UI is prefered
|
|
|
+ SHCNE_RENAMEITEM = DWord($00000001);
|
|
|
+ SHCNE_CREATE = DWord($00000002);
|
|
|
+ SHCNE_DELETE = DWord($00000004);
|
|
|
+ SHCNE_MKDIR = DWord($00000008);
|
|
|
+ SHCNE_RMDIR = DWord($00000010);
|
|
|
+ SHCNE_MEDIAINSERTED = DWord($00000020);
|
|
|
+ SHCNE_MEDIAREMOVED = DWord($00000040);
|
|
|
+ SHCNE_DRIVEREMOVED = DWord($00000080);
|
|
|
+ SHCNE_DRIVEADD = DWord($00000100);
|
|
|
+ SHCNE_NETSHARE = DWord($00000200);
|
|
|
+ SHCNE_NETUNSHARE = DWord($00000400);
|
|
|
+ SHCNE_ATTRIBUTES = DWord($00000800);
|
|
|
+ SHCNE_UPDATEDIR = DWord($00001000);
|
|
|
+ SHCNE_UPDATEITEM = DWord($00002000);
|
|
|
+ SHCNE_SERVERDISCONNECT = DWord($00004000);
|
|
|
+ SHCNE_UPDATEIMAGE = DWord($00008000);
|
|
|
+ SHCNE_DRIVEADDGUI = DWord($00010000);
|
|
|
+ SHCNE_RENAMEFOLDER = DWord($00020000);
|
|
|
+ SHCNE_FREESPACE = DWord($00040000);
|
|
|
+ SHCNE_EXTENDED_EVENT = DWord($04000000);
|
|
|
+ SHCNE_ASSOCCHANGED = DWord($08000000);
|
|
|
+
|
|
|
+ SHCNE_DISKEVENTS = DWord($0002381F);
|
|
|
+ SHCNE_GLOBALEVENTS = DWord($0C0581E0); // Events that dont match pidls first
|
|
|
+ SHCNE_ALLEVENTS = DWord($7FFFFFFF);
|
|
|
+ SHCNE_INTERRUPT = DWord($80000000); // The presence of this flag indicates
|
|
|
+ // that the event was generated by an
|
|
|
+ // interrupt. It is stripped out before
|
|
|
+ // the clients of SHCNNotify_ see it.
|
|
|
+
|
|
|
+//#if (_WIN32_IE >= $0400)
|
|
|
+// SHCNE_EXTENDED_EVENT extended events. These events are ordinals.
|
|
|
+// This is not a bitfield.
|
|
|
+
|
|
|
+ SHCNEE_ORDERCHANGED = 2; // pidl2 is the changed folder
|
|
|
+ SHCNEE_MSI_CHANGE = 4; // pidl2 is a SHChangeProductKeyAsIDList
|
|
|
+ SHCNEE_MSI_UNINSTALL = 5; // pidl2 is a SHChangeProductKeyAsIDList
|
|
|
+//#endif
|
|
|
+
|
|
|
+
|
|
|
+// Flags
|
|
|
+// uFlags & SHCNF_TYPE is an ID which indicates what dwItem1 and dwItem2 mean
|
|
|
+ SHCNF_IDLIST = $0000; // LPITEMIDLIST
|
|
|
+ SHCNF_PATHA = $0001; // path name
|
|
|
+ SHCNF_PRINTERA = $0002; // printer friendly name
|
|
|
+ SHCNF_DWORD = $0003; // DWORD
|
|
|
+ SHCNF_PATHW = $0005; // path name
|
|
|
+ SHCNF_PRINTERW = $0006; // printer friendly name
|
|
|
+ SHCNF_TYPE = $00FF;
|
|
|
+ SHCNF_FLUSH = $1000;
|
|
|
+ SHCNF_FLUSHNOWAIT = $2000;
|
|
|
+{$ifdef UNICODE}
|
|
|
+ SHCNF_PATH = SHCNF_PATHW;
|
|
|
+ SHCNF_PRINTER = SHCNF_PRINTERW;
|
|
|
+{$else}
|
|
|
+ SHCNF_PATH = SHCNF_PATHA;
|
|
|
+ SHCNF_PRINTER = SHCNF_PRINTERA;
|
|
|
+{$endif}
|
|
|
+ QITIPF_DEFAULT = $00000000;
|
|
|
+ QITIPF_USENAME = $00000001;
|
|
|
+ QITIPF_LINKNOTARGET = $00000002;
|
|
|
+ QITIPF_LINKUSETARGET = $00000004;
|
|
|
+ QITIPF_USESLOWTIP = $00000008; // Flag says it's OK to take a long time generating tip
|
|
|
+
|
|
|
+ QIF_CACHED = $00000001;
|
|
|
+ QIF_DONTEXPANDFOLDER = $00000002;
|
|
|
+
|
|
|
+
|
|
|
+//
|
|
|
+// SHAddToRecentDocs
|
|
|
+//
|
|
|
+ SHARD_PIDL = DWord($00000001);
|
|
|
+ SHARD_PATHA = DWord($00000002);
|
|
|
+ SHARD_PATHW = DWord($00000003);
|
|
|
+
|
|
|
+{$ifdef UNICODE}
|
|
|
+ SHARD_PATH = SHARD_PATHW;
|
|
|
+{$else}
|
|
|
+ SHARD_PATH = SHARD_PATHA;
|
|
|
+{$endif}
|
|
|
+
|
|
|
+//
|
|
|
+// SHGetDataFromIDListA/W
|
|
|
+//
|
|
|
+// SHGetDataFromIDList nFormat values TCHAR
|
|
|
+ SHGDFIL_FINDDATA = 1;
|
|
|
+ SHGDFIL_NETRESOURCE = 2;
|
|
|
+ SHGDFIL_DESCRIPTIONID = 3;
|
|
|
+
|
|
|
+ SHDID_ROOT_REGITEM = 1 ;
|
|
|
+ SHDID_FS_FILE = 2 ;
|
|
|
+ SHDID_FS_DIRECTORY = 3 ;
|
|
|
+ SHDID_FS_OTHER = 4 ;
|
|
|
+ SHDID_COMPUTER_DRIVE35 = 5 ;
|
|
|
+ SHDID_COMPUTER_DRIVE525 = 6 ;
|
|
|
+ SHDID_COMPUTER_REMOVABLE = 7 ;
|
|
|
+ SHDID_COMPUTER_FIXED = 8 ;
|
|
|
+ SHDID_COMPUTER_NETDRIVE = 9 ;
|
|
|
+ SHDID_COMPUTER_CDROM = 10;
|
|
|
+ SHDID_COMPUTER_RAMDISK = 11;
|
|
|
+ SHDID_COMPUTER_OTHER = 12;
|
|
|
+ SHDID_NET_DOMAIN = 13;
|
|
|
+ SHDID_NET_SERVER = 14;
|
|
|
+ SHDID_NET_SHARE = 15;
|
|
|
+ SHDID_NET_RESTOFNET = 16;
|
|
|
+ SHDID_NET_OTHER = 17;
|
|
|
+ SHDID_COMPUTER_IMAGING = 18;
|
|
|
+ SHDID_COMPUTER_AUDIO = 19;
|
|
|
+ SHDID_COMPUTER_SHAREDDOCS = 20;
|
|
|
+// PathResolve flags
|
|
|
+ PRF_VERIFYEXISTS = $0001;
|
|
|
+ PRF_TRYPROGRAMEXTENSIONS = ($0002 or PRF_VERIFYEXISTS);
|
|
|
+ PRF_FIRSTDIRDEF = $0004;
|
|
|
+ PRF_DONTFINDLNK = $0008; // if PRF_TRYPROGRAMEXTENSIONS is specified
|
|
|
+ PCS_FATAL = $80000000;
|
|
|
+ PCS_REPLACEDCHAR = $00000001;
|
|
|
+ PCS_REMOVEDCHAR = $00000002;
|
|
|
+ PCS_TRUNCATED = $00000004;
|
|
|
+ PCS_PATHTOOLONG = $00000008; // Always combined with FATA);
|
|
|
+ MM_ADDSEPARATOR = DWord($00000001);
|
|
|
+ MM_SUBMENUSHAVEIDS = DWord($00000002);
|
|
|
+ MM_DONTREMOVESEPS = DWord($00000004);
|
|
|
+
|
|
|
+ SHOP_PRINTERNAME = $00000001; // lpObject points to a printer friendly name
|
|
|
+ SHOP_FILEPATH = $00000002; // lpObject points to a fully qualified path+file name
|
|
|
+ SHOP_VOLUMEGUID = $00000004; // lpObject points to a Volume GUID
|
|
|
+ SHFMT_ID_DEFAULT = $FFFF;
|
|
|
+//
|
|
|
+// Option bits for options parameter
|
|
|
+//
|
|
|
+ SHFMT_OPT_FULL = $0001;
|
|
|
+ SHFMT_OPT_SYSONLY = $0002;
|
|
|
+
|
|
|
+//
|
|
|
+// Special return values. PLEASE NOTE that these are DWORD values.
|
|
|
+//
|
|
|
+ SHFMT_ERROR = DWord($FFFFFFFF); // Error on last format, drive may be formatable
|
|
|
+ SHFMT_CANCEL = DWord($FFFFFFFE); // Last format was canceled
|
|
|
+ SHFMT_NOFORMAT = DWord($FFFFFFFD); // Drive is not formatable
|
|
|
+ REST_NONE = $00000000;
|
|
|
+ REST_NORUN = $00000001;
|
|
|
+ REST_NOCLOSE = $00000002;
|
|
|
+ REST_NOSAVESET = $00000004;
|
|
|
+ REST_NOFILEMENU = $00000008;
|
|
|
+ REST_NOSETFOLDERS = $00000010;
|
|
|
+ REST_NOSETTASKBAR = $00000020;
|
|
|
+ REST_NODESKTOP = $00000040;
|
|
|
+ REST_NOFIND = $00000080;
|
|
|
+ REST_NODRIVES = $00000100;
|
|
|
+ REST_NODRIVEAUTORUN = $00000200;
|
|
|
+ REST_NODRIVETYPEAUTORUN = $00000400;
|
|
|
+ REST_NONETHOOD = $00000800;
|
|
|
+ REST_STARTBANNER = $00001000;
|
|
|
+ REST_RESTRICTRUN = $00002000;
|
|
|
+ REST_NOPRINTERTABS = $00004000;
|
|
|
+ REST_NOPRINTERDELETE = $00008000;
|
|
|
+ REST_NOPRINTERADD = $00010000;
|
|
|
+ REST_NOSTARTMENUSUBFOLDERS = $00020000;
|
|
|
+ REST_MYDOCSONNET = $00040000;
|
|
|
+ REST_NOEXITTODOS = $00080000;
|
|
|
+ REST_ENFORCESHELLEXTSECURITY = $00100000;
|
|
|
+ REST_LINKRESOLVEIGNORELINKINFO = $00200000;
|
|
|
+ REST_NOCOMMONGROUPS = $00400000;
|
|
|
+ REST_SEPARATEDESKTOPPROCESS = $00800000;
|
|
|
+ REST_NOWEB = $01000000;
|
|
|
+ REST_NOTRAYCONTEXTMENU = $02000000;
|
|
|
+ REST_NOVIEWCONTEXTMENU = $04000000;
|
|
|
+ REST_NONETCONNECTDISCONNECT = $08000000;
|
|
|
+ REST_STARTMENULOGOFF = $10000000;
|
|
|
+ REST_NOSETTINGSASSIST = $20000000;
|
|
|
+ REST_NOINTERNETICON = $40000001;
|
|
|
+ REST_NORECENTDOCSHISTORY = $40000002;
|
|
|
+ REST_NORECENTDOCSMENU = $40000003;
|
|
|
+ REST_NOACTIVEDESKTOP = $40000004;
|
|
|
+ REST_NOACTIVEDESKTOPCHANGES = $40000005;
|
|
|
+ REST_NOFAVORITESMENU = $40000006;
|
|
|
+ REST_CLEARRECENTDOCSONEXIT = $40000007;
|
|
|
+ REST_CLASSICSHELL = $40000008;
|
|
|
+ REST_NOCUSTOMIZEWEBVIEW = $40000009;
|
|
|
+ REST_NOHTMLWALLPAPER = $40000010;
|
|
|
+ REST_NOCHANGINGWALLPAPER = $40000011;
|
|
|
+ REST_NODESKCOMP = $40000012;
|
|
|
+ REST_NOADDDESKCOMP = $40000013;
|
|
|
+ REST_NODELDESKCOMP = $40000014;
|
|
|
+ REST_NOCLOSEDESKCOMP = $40000015;
|
|
|
+ REST_NOCLOSE_DRAGDROPBAND = $40000016; // Disable Close and Drag & Drop on ALL Bands
|
|
|
+ REST_NOMOVINGBAND = $40000017; // Disable Moving ALL Bands
|
|
|
+ REST_NOEDITDESKCOMP = $40000018;
|
|
|
+ REST_NORESOLVESEARCH = $40000019;
|
|
|
+ REST_NORESOLVETRACK = $4000001A;
|
|
|
+ REST_FORCECOPYACLWITHFILE = $4000001B;
|
|
|
+ REST_NOLOGO3CHANNELNOTIFY = $4000001C;
|
|
|
+ REST_NOFORGETSOFTWAREUPDATE = $4000001D;
|
|
|
+ REST_NOSETACTIVEDESKTOP = $4000001E; // No Active desktop on Settings Menu
|
|
|
+ REST_NOUPDATEWINDOWS = $4000001F; // No Windows Update on Settings Menu
|
|
|
+ REST_NOCHANGESTARMENU = $40000020; // No Context menu or Drag and Drop on Start menu
|
|
|
+ REST_NOFOLDEROPTIONS = $40000021; // No Folder Options on Settings Menu
|
|
|
+ REST_HASFINDCOMPUTERS = $40000022; // Show Start/Search/Computers
|
|
|
+ REST_INTELLIMENUS = $40000023;
|
|
|
+ REST_RUNDLGMEMCHECKBOX = $40000024;
|
|
|
+ REST_ARP_ShowPostSetup = $40000025; // ARP: Show Post-Setup page
|
|
|
+ REST_NOCSC = $40000026; // Disable the ClientSide caching on SM
|
|
|
+ REST_NOCONTROLPANEL = $40000027; // Remove the Control Panel only from SM or Settings
|
|
|
+ REST_ENUMWORKGROUP = $40000028; // Enumerate workgroup in root of nethood
|
|
|
+ REST_ARP_NOARP = $40000029; // ARP: Don't Allow ARP to come up at all
|
|
|
+ REST_ARP_NOREMOVEPAGE = $4000002A; // ARP: Don't allow Remove page
|
|
|
+ REST_ARP_NOADDPAGE = $4000002B; // ARP: Don't allow Add page
|
|
|
+ REST_ARP_NOWINSETUPPAGE = $4000002C; // ARP: Don't allow opt components page
|
|
|
+ REST_GREYMSIADS = $4000002D; // SM: Allow the greying of Darwin Ads in SM
|
|
|
+ REST_NOCHANGEMAPPEDDRIVELABEL = $4000002E; // Don't enable the UI which allows users to rename mapped drive labels
|
|
|
+ REST_NOCHANGEMAPPEDDRIVECOMMENT = $4000002F; // Don't enable the UI which allows users to change mapped drive comments
|
|
|
+ REST_MaxRecentDocs = $40000030;
|
|
|
+ REST_NONETWORKCONNECTIONS = $40000031; // No Start Menu or Settings or Network Connections
|
|
|
+ REST_FORCESTARTMENULOGOFF = $40000032; // Force logoff on the Start Menu
|
|
|
+ REST_NOWEBVIEW = $40000033; // Disable Web View
|
|
|
+ REST_NOCUSTOMIZETHISFOLDER = $40000034; // Disable Customize This Folder
|
|
|
+ REST_NOENCRYPTION = $40000035; // Don't allow file encryption
|
|
|
+// Do NOT use me = $40000036;
|
|
|
+ REST_DONTSHOWSUPERHIDDEN = $40000037; // don't show super hidden files
|
|
|
+ REST_NOSHELLSEARCHBUTTON = $40000038;
|
|
|
+ REST_NOHARDWARETAB = $40000039; // No Hardware tab on Drives or in control panel
|
|
|
+ REST_NORUNASINSTALLPROMPT = $4000003A; // Don't bring up "Run As" prompt for install programs
|
|
|
+ REST_PROMPTRUNASINSTALLNETPATH = $4000003B; // Force the "Run As" prompt for install programs on unc/network shares
|
|
|
+ REST_NOMANAGEMYCOMPUTERVERB = $4000003C; // No Manage verb on My Computer
|
|
|
+ REST_NORECENTDOCSNETHOOD = $4000003D; // dont add the recent docs shares to nethood
|
|
|
+ REST_DISALLOWRUN = $4000003E; // don't allow certain apps to be run
|
|
|
+ REST_NOWELCOMESCREEN = $4000003F; // don't allow the welcome screen to be displayed.
|
|
|
+ REST_RESTRICTCPL = $40000040; // only allow certain cpls to be run
|
|
|
+ REST_DISALLOWCPL = $40000041; // don't allow certain cpls to be run
|
|
|
+ REST_NOSMBALLOONTIP = $40000042; // No Start Menu Balloon Tip
|
|
|
+ REST_NOSMHELP = $40000043; // No Help on the Start Menu
|
|
|
+ REST_NOWINKEYS = $40000044; // No Windows-X Hot keys
|
|
|
+ REST_NOENCRYPTONMOVE = $40000045; // Don't automatically try to encrypt files that are moved to encryped directories
|
|
|
+ REST_NOLOCALMACHINERUN = $40000046; // ignore HKLM\sw\ms\win\cv\Run and all of it's sub keys
|
|
|
+ REST_NOCURRENTUSERRUN = $40000047; // ignore HKCU\sw\ms\win\cv\Run and all of it's sub keys
|
|
|
+ REST_NOLOCALMACHINERUNONCE = $40000048; // ignore HKLM\sw\ms\win\cv\RunOnce and all of it's sub keys
|
|
|
+ REST_NOCURRENTUSERRUNONCE = $40000049; // ignore HKCU\sw\ms\win\cv\RunOnce and all of it's sub keys
|
|
|
+ REST_FORCEACTIVEDESKTOPON = $4000004A; // Force ActiveDesktop to be turned ON all the time.
|
|
|
+ REST_NOCOMPUTERSNEARME = $4000004B; // removes the "Computers near me" link
|
|
|
+ REST_NOVIEWONDRIVE = $4000004C; // disallows CreateViewObject() on specified drives (CFSFolder only)
|
|
|
+ REST_NONETCRAWL = $4000004D; // disables the crawling of the WNet namespace.
|
|
|
+ REST_NOSHAREDDOCUMENTS = $4000004E; // don't auto share the Shared Documents/create link
|
|
|
+ REST_NOSMMYDOCS = $4000004F; // Don't show the My Documents item on the Start Menu.
|
|
|
+ REST_NOSMMYPICS = $40000050; // Don't show the My Pictures item on the Start Menu
|
|
|
+ REST_ALLOWBITBUCKDRIVES = $40000051; // Bit mask indicating which which drives have bit bucket support
|
|
|
+ REST_NONLEGACYSHELLMODE = $40000052; // new consumer shell modes
|
|
|
+ REST_NOCONTROLPANELBARRICADE = $40000053; // The webview barricade in Control Panel
|
|
|
+ REST_NOSTARTPAGE = $40000054; // Whistler Start Page on desktop.
|
|
|
+ REST_NOAUTOTRAYNOTIFY = $40000055; // Whistler auto-tray notify feature
|
|
|
+ REST_NOTASKGROUPING = $40000056; // Whistler taskbar button grouping feature
|
|
|
+ REST_NOCDBURNING = $40000057; // whistler cd burning feature
|
|
|
+ REST_MYCOMPNOPROP = $40000058; // disables Properties on My Computer's context menu
|
|
|
+ REST_MYDOCSNOPROP = $40000059; // disables Properties on My Documents' context menu
|
|
|
+ REST_NOSTARTPANEL = $4000005A; // Windows start panel (New start menu) for Whistler.
|
|
|
+ REST_NODISPLAYAPPEARANCEPAGE = $4000005B; // disable Themes and Appearance tabs in the Display Control Panel.
|
|
|
+ REST_NOTHEMESTAB = $4000005C; // disable the Themes tab in the Display Control Panel.
|
|
|
+ REST_NOVISUALSTYLECHOICE = $4000005D; // disable the visual style drop down in the Appearance tab of the Display Control Panel.
|
|
|
+ REST_NOSIZECHOICE = $4000005E; // disable the size drop down in the Appearance tab of the Display Control Panel.
|
|
|
+ REST_NOCOLORCHOICE = $4000005F; // disable the color drop down in the Appearance tab of the Display Control Panel.
|
|
|
+ REST_SETVISUALSTYLE = $40000060; // Load the specified file as the visual style.
|
|
|
+ REST_STARTRUNNOHOMEPATH = $40000061; // dont use the %HOMEPATH% env var for the Start-Run dialog
|
|
|
+ REST_NOUSERNAMEINSTARTPANEL = $40000062; // don't show the username is the startpanel.
|
|
|
+ REST_NOMYCOMPUTERICON = $40000063; // don't show my computer anywhere, hide its contents
|
|
|
+ REST_NOSMNETWORKPLACES = $40000064; // don't show network places in startpanel.
|
|
|
+ REST_NOSMPINNEDLIST = $40000065; // don't show the pinned list in startpanel.
|
|
|
+ REST_NOSMMYMUSIC = $40000066; // don't show MyMusic folder in startpanel
|
|
|
+ REST_NOSMEJECTPC = $40000067; // don't show "Undoc PC" command in startmenu
|
|
|
+ REST_NOSMMOREPROGRAMS = $40000068; // don't show "More Programs" button in StartPanel.
|
|
|
+ REST_NOSMMFUPROGRAMS = $40000069; // don't show the MFU programs list in StartPanel.
|
|
|
+ REST_NOTRAYITEMSDISPLAY = $4000006A; // disables the display of the system tray
|
|
|
+ REST_NOTOOLBARSONTASKBAR = $4000006B; // disables toolbar display on the taskbar
|
|
|
+ REST_NOSMCONFIGUREPROGRAMS = $4000006F; // No Configure Programs on Settings Menu
|
|
|
+ REST_HIDECLOCK = $40000070; // don't show the clock
|
|
|
+ REST_NOLOWDISKSPACECHECKS = $40000071; // disable the low disk space checking
|
|
|
+ REST_NOENTIRENETWORK = $40000072; // removes the "Entire Network" link (i.e. from "My Network Places")
|
|
|
+ REST_NODESKTOPCLEANUP = $40000073; // disable the desktop cleanup wizard
|
|
|
+ REST_BITBUCKNUKEONDELETE = $40000074; // disables recycling of files
|
|
|
+ REST_BITBUCKCONFIRMDELETE = $40000075; // always show the delete confirmation dialog when deleting files
|
|
|
+ REST_BITBUCKNOPROP = $40000076; // disables Properties on Recycle Bin's context menu
|
|
|
+ REST_NODISPBACKGROUND = $40000077; // disables the Desktop tab in the Display CP);
|
|
|
+ REST_NODISPSCREENSAVEPG = $40000078; // disables the Screen Saver tab in the Display CP);
|
|
|
+ REST_NODISPSETTINGSPG = $40000079; // disables the Settings tab in the Display CP);
|
|
|
+ REST_NODISPSCREENSAVEPREVIEW = $4000007A; // disables the screen saver on the Screen Saver tab in the Display CP);
|
|
|
+ REST_NODISPLAYCPL = $4000007B; // disables the Display CPL
|
|
|
+ REST_HIDERUNASVERB = $4000007C; // hides the "Run As..." context menu item
|
|
|
+ REST_NOTHUMBNAILCACHE = $4000007D; // disables use of the thumbnail cache
|
|
|
+ REST_NOSTRCMPLOGICAL = $4000007E; // dont use StrCmpLogical() instead use default CompareString()
|
|
|
+ REST_NOPUBLISHWIZARD = $4000007F; // disables publishing wizard (WPW)
|
|
|
+ REST_NOONLINEPRINTSWIZARD = $40000080; // disables online prints wizard (OPW)
|
|
|
+ REST_NOWEBSERVICES = $40000081; // disables the web specified services for both OPW and WPW
|
|
|
+ REST_ALLOWUNHASHEDWEBVIEW = $40000082; // allow the user to be promted to accept web view templates that don't already have an md5 hash in the registry
|
|
|
+ REST_ALLOWLEGACYWEBVIEW = $40000083; // allow legacy webview template to be shown.
|
|
|
+ REST_REVERTWEBVIEWSECURITY = $40000084; // disable added webview security measures (revert to w2k functionality).
|
|
|
+ REST_INHERITCONSOLEHANDLES = $40000086; // ShellExec() will check for the current process and target process being console processes to inherit handles
|
|
|
+ REST_SORTMAXITEMCOUNT = $40000087; // Do not sort views with more items than this key. Useful for viewing big amount of files in one folder.
|
|
|
+ REST_NOREMOTERECURSIVEEVENTS = $40000089; // Dont register network change events recursively to avoid network traffic
|
|
|
+ REST_NOREMOTECHANGENOTIFY = $40000091; // Do not register for remote change notifies
|
|
|
+ REST_NOSIMPLENETIDLIST = $40000092; // No simple network IDLists
|
|
|
+ REST_NOENUMENTIRENETWORK = $40000093; // Don't enumerate entire network if we happen to get to it (in conjunction with REST_NOENTIRENETWORK)
|
|
|
+ REST_NODETAILSTHUMBNAILONNETWORK= $40000094; // Disable Thumbnail for Network files in DUI Details pane
|
|
|
+ REST_NOINTERNETOPENWITH = $40000095; // dont allow looking on the internet for file associations
|
|
|
+ REST_ALLOWLEGACYLMZBEHAVIOR = $4000009A; // allowable LMZ behavior for ActiveX objects changed in XPSP2, this policy gets the pre-XPSP2 behavior
|
|
|
+ REST_DONTRETRYBADNETNAME = $4000009B; // In Network Places: if provider returns ERROR_BAD_NET_NAME, give up
|
|
|
+ REST_ALLOWFILECLSIDJUNCTIONS = $4000009C; // re-enable legacy support for file.{guid} junctions in FileSystem Folder
|
|
|
+ REST_NOUPNPINSTALL = $4000009D; // disable "install UPnP" task in My Net Places
|
|
|
+
|
|
|
+ REST_NODISCONNECT = $41000001; // No Disconnect option in Start menu
|
|
|
+ REST_NOSECURITY = $41000002; // No Security option in start menu
|
|
|
+ REST_NOFILEASSOCIATE = $41000003; // Do not allow user to change file association
|
|
|
+ REST_ALLOWCOMMENTTOGGLE = $41000004; // Allow the user to toggle the positions of the Comment and the Computer Name
|
|
|
+ REST_USEDESKTOPINICACHE = $41000005; // Cache desktop.ini entries from network folders
|
|
|
+//
|
|
|
+// Path processing function
|
|
|
+//
|
|
|
+ PPCF_ADDQUOTES = $00000001; // return a quoted name if required
|
|
|
+ PPCF_ADDARGUMENTS = $00000003; // appends arguments (and wraps in quotes if required)
|
|
|
+ PPCF_NODIRECTORIES = $00000010; // don't match to directories
|
|
|
+ PPCF_FORCEQUALIFY = $00000040; // qualify even non-relative names
|
|
|
+ PPCF_LONGESTPOSSIBLE = $00000080; // always find the longest possible name
|
|
|
+ VALIDATEUNC_NOUI = $0002; // don't bring up UI
|
|
|
+ VALIDATEUNC_CONNECT = $0001; // connect a drive letter
|
|
|
+ VALIDATEUNC_PRINT = $0004; // validate as print share instead of disk share
|
|
|
+ VALIDATEUNC_VALID = $0007; // valid flags
|
|
|
+
|
|
|
+ OPENPROPS_NONE = $0000;
|
|
|
+ OPENPROPS_INHIBITPIF = $8000;
|
|
|
+ GETPROPS_NONE = $0000;
|
|
|
+ SETPROPS_NONE = $0000;
|
|
|
+ CLOSEPROPS_NONE = $0000;
|
|
|
+ CLOSEPROPS_DISCARD = $0001;
|
|
|
+
|
|
|
+ PIFNAMESIZE = 30;
|
|
|
+ PIFSTARTLOCSIZE = 63;
|
|
|
+ PIFDEFPATHSIZE = 64;
|
|
|
+ PIFPARAMSSIZE = 64;
|
|
|
+ PIFSHPROGSIZE = 64;
|
|
|
+ PIFSHDATASIZE = 64;
|
|
|
+ PIFDEFFILESIZE = 80;
|
|
|
+ PIFMAXFILEPATH = 260;
|
|
|
+ TBIF_APPEND = 0;
|
|
|
+ TBIF_PREPEND = 1;
|
|
|
+ TBIF_REPLACE = 2;
|
|
|
+ TBIF_DEFAULT = $00000000;
|
|
|
+ TBIF_INTERNETBAR = $00010000;
|
|
|
+ TBIF_STANDARDTOOLBAR = $00020000;
|
|
|
+ TBIF_NOTOOLBAR = $00030000;
|
|
|
+// uMsg wParam lParam
|
|
|
+ SFVM_MERGEMENU = 1; // - LPQCMINFO
|
|
|
+ SFVM_INVOKECOMMAND = 2; // idCmd -
|
|
|
+ SFVM_GETHELPTEXT = 3; // idCmd,cchMax pszText
|
|
|
+ SFVM_GETTOOLTIPTEXT = 4; // idCmd,cchMax pszText
|
|
|
+ SFVM_GETBUTTONINFO = 5; // - LPTBINFO
|
|
|
+ SFVM_GETBUTTONS = 6; // idCmdFirst,cbtnMax LPTBBUTTON
|
|
|
+ SFVM_INITMENUPOPUP = 7; // idCmdFirst,nIndex hmenu
|
|
|
+ SFVM_FSNOTIFY = 14; // LPCITEMIDLIST* lEvent
|
|
|
+ SFVM_WINDOWCREATED = 15; // hwnd -
|
|
|
+ SFVM_GETDETAILSOF = 23; // iColumn DETAILSINFO*
|
|
|
+ SFVM_COLUMNCLICK = 24; // iColumn -
|
|
|
+ SFVM_QUERYFSNOTIFY = 25; // - SHChangeNotifyEntry *
|
|
|
+ SFVM_DEFITEMCOUNT = 26; // - UINT*
|
|
|
+ SFVM_DEFVIEWMODE = 27; // - FOLDERVIEWMODE*
|
|
|
+ SFVM_UNMERGEMENU = 28; // - hmenu
|
|
|
+ SFVM_UPDATESTATUSBAR = 31; // fInitialize -
|
|
|
+ SFVM_BACKGROUNDENUM = 32; // - -
|
|
|
+ SFVM_DIDDRAGDROP = 36; // dwEffect IDataObject *
|
|
|
+ SFVM_SETISFV = 39; // - IShellFolderView*
|
|
|
+ SFVM_THISIDLIST = 41; // - LPITMIDLIST*
|
|
|
+ SFVM_ADDPROPERTYPAGES = 47; // - SFVM_PROPPAGE_DATA *
|
|
|
+ SFVM_BACKGROUNDENUMDONE = 48; // - -
|
|
|
+ SFVM_GETNOTIFY = 49; // LPITEMIDLIST* LONG*
|
|
|
+ SFVM_GETSORTDEFAULTS = 53; // iDirection iParamSort
|
|
|
+ SFVM_SIZE = 57; // - -
|
|
|
+ SFVM_GETZONE = 58; // - DWORD*
|
|
|
+ SFVM_GETPANE = 59; // Pane ID DWORD*
|
|
|
+ SFVM_GETHELPTOPIC = 63; // - SFVM_HELPTOPIC_DATA *
|
|
|
+ SFVM_GETANIMATION = 68; // HINSTANCE * WCHAR *
|
|
|
+// uMsg wParam lParam
|
|
|
+ DFM_MERGECONTEXTMENU = 1; // uFlags LPQCMINFO
|
|
|
+ DFM_INVOKECOMMAND = 2; // idCmd pszArgs
|
|
|
+ DFM_GETDEFSTATICID = 14; // idCmd * 0
|
|
|
+// Commands from DFM_INVOKECOMMAND when strings are passed in
|
|
|
+ DFM_CMD_PROPERTIES = dword(-5);
|
|
|
+ SFVM_REARRANGE = $00000001;
|
|
|
+ SFVM_ADDOBJECT = $00000003;
|
|
|
+ SFVM_REMOVEOBJECT = $00000006;
|
|
|
+ SFVM_UPDATEOBJECT = $00000007;
|
|
|
+ SFVM_GETSELECTEDOBJECTS = $00000009;
|
|
|
+ SFVM_SETITEMPOS = $0000000e;
|
|
|
+ SFVM_SETCLIPBOARD = $00000010;
|
|
|
+ SFVM_SETPOINTS = $00000017;
|
|
|
+ PID_IS_URL = 2;
|
|
|
+ PID_IS_NAME = 4;
|
|
|
+ PID_IS_WORKINGDIR = 5;
|
|
|
+ PID_IS_HOTKEY = 6;
|
|
|
+ PID_IS_SHOWCMD = 7;
|
|
|
+ PID_IS_ICONINDEX = 8;
|
|
|
+ PID_IS_ICONFILE = 9;
|
|
|
+ PID_IS_WHATSNEW = 10;
|
|
|
+ PID_IS_AUTHOR = 11;
|
|
|
+ PID_IS_DESCRIPTION = 12;
|
|
|
+ PID_IS_COMMENT = 13;
|
|
|
+ PID_INTSITE_WHATSNEW = 2;
|
|
|
+ PID_INTSITE_AUTHOR = 3;
|
|
|
+ PID_INTSITE_LASTVISIT = 4;
|
|
|
+ PID_INTSITE_LASTMOD = 5;
|
|
|
+ PID_INTSITE_VISITCOUNT = 6;
|
|
|
+ PID_INTSITE_DESCRIPTION = 7;
|
|
|
+ PID_INTSITE_COMMENT = 8;
|
|
|
+ PID_INTSITE_FLAGS = 9;
|
|
|
+ PID_INTSITE_CONTENTLEN = 10;
|
|
|
+ PID_INTSITE_CONTENTCODE = 11;
|
|
|
+ PID_INTSITE_RECURSE = 12;
|
|
|
+ PID_INTSITE_WATCH = 13;
|
|
|
+ PID_INTSITE_SUBSCRIPTION = 14;
|
|
|
+ PID_INTSITE_URL = 15;
|
|
|
+ PID_INTSITE_TITLE = 16;
|
|
|
+ PID_INTSITE_CODEPAGE = 18;
|
|
|
+ PID_INTSITE_TRACKING = 19;
|
|
|
+ PID_INTSITE_ICONINDEX = 20;
|
|
|
+ PID_INTSITE_ICONFILE = 21;
|
|
|
+
|
|
|
+
|
|
|
+// Flags for PID_IS_FLAGS
|
|
|
+ PIDISF_RECENTLYCHANGED = $00000001;
|
|
|
+ PIDISF_CACHEDSTICKY = $00000002;
|
|
|
+ PIDISF_CACHEIMAGES = $00000010;
|
|
|
+ PIDISF_FOLLOWALLLINKS = $00000020;
|
|
|
+
|
|
|
+// Values for PID_INTSITE_WATCH
|
|
|
+ PIDISM_GLOBAL = 0; // Monitor based on global setting
|
|
|
+ PIDISM_WATCH = 1; // User says watch
|
|
|
+ PIDISM_DONTWATCH = 2; // User says don't watch
|
|
|
+
|
|
|
+ SSF_SHOWALLOBJECTS = $00000001;
|
|
|
+ SSF_SHOWEXTENSIONS = $00000002;
|
|
|
+ SSF_HIDDENFILEEXTS = $00000004;
|
|
|
+ SSF_SERVERADMINUI = $00000004;
|
|
|
+ SSF_SHOWCOMPCOLOR = $00000008;
|
|
|
+ SSF_SORTCOLUMNS = $00000010;
|
|
|
+ SSF_SHOWSYSFILES = $00000020;
|
|
|
+ SSF_DOUBLECLICKINWEBVIEW = $00000080;
|
|
|
+ SSF_SHOWATTRIBCOL = $00000100;
|
|
|
+ SSF_DESKTOPHTML = $00000200;
|
|
|
+ SSF_WIN95CLASSIC = $00000400;
|
|
|
+ SSF_DONTPRETTYPATH = $00000800;
|
|
|
+ SSF_SHOWINFOTIP = $00002000;
|
|
|
+ SSF_MAPNETDRVBUTTON = $00001000;
|
|
|
+ SSF_NOCONFIRMRECYCLE = $00008000;
|
|
|
+ SSF_HIDEICONS = $00004000;
|
|
|
+ SSF_FILTER = $00010000;
|
|
|
+ SSF_WEBVIEW = $00020000;
|
|
|
+ SSF_SHOWSUPERHIDDEN = $00040000;
|
|
|
+ SSF_SEPPROCESS = $00080000;
|
|
|
+ SSF_NONETCRAWLING = $00100000;
|
|
|
+ SSF_STARTPANELON = $00200000;
|
|
|
+ SSF_SHOWSTARTPAGE = $00400000;
|
|
|
+
|
|
|
+ SHPPFW_NONE = $00000000;
|
|
|
+ SHPPFW_DIRCREATE = $00000001; // Create the directory if it doesn't exist without asking the user.
|
|
|
+ SHPPFW_DEFAULT = SHPPFW_DIRCREATE; // May change
|
|
|
+ SHPPFW_ASKDIRCREATE = $00000002; // Create the directory if it doesn't exist after asking the user.
|
|
|
+ SHPPFW_IGNOREFILENAME = $00000004; // Ignore the last item in pszPath because it's a file. Example: pszPath="C:\DirA\DirB", only use "C:\DirA".
|
|
|
+ SHPPFW_NOWRITECHECK = $00000008; // Caller only needs to read from the drive, so don't check if it's READ ONLY.
|
|
|
+ SHPPFW_MEDIACHECKONLY = $00000010; // do the retrys on the media (or net path), return errors if the file can't be found
|
|
|
+
|
|
|
+Type
|
|
|
HDROP = THandle;
|
|
|
PHIcon = ^HIcon;
|
|
|
|