📄 shlobj.h
字号:
#ifndef _SHLOBJ_H#define _SHLOBJ_H#if __GNUC__ >= 3#pragma GCC system_header#endif#ifdef __cplusplusextern "C" {#endif#include <ole2.h>#include <shlguid.h>#include <shellapi.h>#pragma pack(push,1)#include <commctrl.h>#define BIF_RETURNONLYFSDIRS 1#define BIF_DONTGOBELOWDOMAIN 2#define BIF_STATUSTEXT 4#define BIF_RETURNFSANCESTORS 8#define BIF_EDITBOX 16#define BIF_VALIDATE 32#define BIF_NEWDIALOGSTYLE 64#define BIF_BROWSEINCLUDEURLS 128#define BIF_USENEWUI ( BIF_EDITBOX | BIF_NEWDIALOGSTYLE )#define BIF_BROWSEFORCOMPUTER 0x1000#define BIF_BROWSEFORPRINTER 0x2000#define BIF_BROWSEINCLUDEFILES 0x4000#define BIF_SHAREABLE 0x8000#define BFFM_INITIALIZED 1#define BFFM_SELCHANGED 2#define BFFM_VALIDATEFAILEDA 3#define BFFM_VALIDATEFAILEDW 4#define BFFM_SETSTATUSTEXTA (WM_USER + 100)#define BFFM_SETSTATUSTEXTW (WM_USER + 104)#define BFFM_ENABLEOK (WM_USER + 101)#define BFFM_SETSELECTIONA (WM_USER + 102)#define BFFM_SETSELECTIONW (WM_USER + 103)#define BFFM_SETOKTEXT (WM_USER + 105)#define BFFM_SETEXPANDED (WM_USER + 106)#ifdef UNICODE#define BFFM_SETSTATUSTEXT BFFM_SETSTATUSTEXTW#define BFFM_SETSELECTION BFFM_SETSELECTIONW#define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDW#else#define BFFM_SETSTATUSTEXT BFFM_SETSTATUSTEXTA#define BFFM_SETSELECTION BFFM_SETSELECTIONA#define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDA#endif#define DVASPECT_SHORTNAME 2#define SHARD_PIDL 1#define SHARD_PATH 2#define SHCNE_RENAMEITEM 1#define SHCNE_CREATE 2#define SHCNE_DELETE 4#define SHCNE_MKDIR 8#define SHCNE_RMDIR 16#define SHCNE_MEDIAINSERTED 32#define SHCNE_MEDIAREMOVED 64#define SHCNE_DRIVEREMOVED 128#define SHCNE_DRIVEADD 256#define SHCNE_NETSHARE 512#define SHCNE_NETUNSHARE 1024#define SHCNE_ATTRIBUTES 2048#define SHCNE_UPDATEDIR 4096#define SHCNE_UPDATEITEM 8192#define SHCNE_SERVERDISCONNECT 16384#define SHCNE_UPDATEIMAGE 32768#define SHCNE_DRIVEADDGUI 65536#define SHCNE_RENAMEFOLDER 0x20000#define SHCNE_FREESPACE 0x40000#define SHCNE_ASSOCCHANGED 0x8000000#define SHCNE_DISKEVENTS 0x2381F#define SHCNE_GLOBALEVENTS 0xC0581E0#define SHCNE_ALLEVENTS 0x7FFFFFFF#define SHCNE_INTERRUPT 0x80000000#define SHCNF_IDLIST 0#define SHCNF_PATHA 1#define SHCNF_PRINTERA 2#define SHCNF_DWORD 3#define SHCNF_PATHW 5#define SHCNF_PRINTERW 6#define SHCNF_TYPE 0xFF#define SHCNF_FLUSH 0x1000#define SHCNF_FLUSHNOWAIT 0x2000#ifdef UNICODE#define SHCNF_PATH SHCNF_PATHW#define SHCNF_PRINTER SHCNF_PRINTERW#else#define SHCNF_PATH SHCNF_PATHA#define SHCNF_PRINTER SHCNF_PRINTERA#endif#define SFGAO_CANCOPY DROPEFFECT_COPY#define SFGAO_CANMOVE DROPEFFECT_MOVE#define SFGAO_CANLINK DROPEFFECT_LINK#define SFGAO_CANRENAME 0x00000010L#define SFGAO_CANDELETE 0x00000020L#define SFGAO_HASPROPSHEET 0x00000040L#define SFGAO_DROPTARGET 0x00000100L#define SFGAO_CAPABILITYMASK 0x00000177L#define SFGAO_ISSLOW 0x00004000L#define SFGAO_GHOSTED 0x00008000L#define SFGAO_LINK 0x00010000L#define SFGAO_SHARE 0x00020000L#define SFGAO_READONLY 0x00040000L#define SFGAO_HIDDEN 0x00080000L#define SFGAO_DISPLAYATTRMASK (SFGAO_ISSLOW \ | SFGAO_GHOSTED \ | SFGAO_LINK \ | SFGAO_SHARE \ | SFGAO_READONLY \ | SFGAO_HIDDEN)#define SFGAO_FILESYSANCESTOR 0x10000000L#define SFGAO_FOLDER 0x20000000L#define SFGAO_FILESYSTEM 0x40000000L#define SFGAO_HASSUBFOLDER 0x80000000L#define SFGAO_CONTENTSMASK 0x80000000L#define SFGAO_VALIDATE 0x01000000L#define SFGAO_REMOVABLE 0x02000000L#define SFGAO_COMPRESSED 0x04000000L#define STRRET_WSTR 0#define STRRET_OFFSET 1#define STRRET_CSTR 2#define SHGDFIL_FINDDATA 1#define SHGDFIL_NETRESOURCE 2#define SHGDFIL_DESCRIPTIONID 3#define SHDID_ROOT_REGITEM 1#define SHDID_FS_FILE 2#define SHDID_FS_DIRECTORY 3#define SHDID_FS_OTHER 4#define SHDID_COMPUTER_DRIVE35 5#define SHDID_COMPUTER_DRIVE525 6#define SHDID_COMPUTER_REMOVABLE 7#define SHDID_COMPUTER_FIXED 8#define SHDID_COMPUTER_NETDRIVE 9#define SHDID_COMPUTER_CDROM 10#define SHDID_COMPUTER_RAMDISK 11#define SHDID_COMPUTER_OTHER 12#define SHDID_NET_DOMAIN 13#define SHDID_NET_SERVER 14#define SHDID_NET_SHARE 15#define SHDID_NET_RESTOFNET 16#define SHDID_NET_OTHER 17#ifndef REGSTR_PATH_EXPLORER#define REGSTR_PATH_EXPLORER TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer")#endif#define REGSTR_PATH_SPECIAL_FOLDERS REGSTR_PATH_EXPLORER TEXT("\\Shell Folders")#define CSIDL_DESKTOP 0#define CSIDL_INTERNET 1#define CSIDL_PROGRAMS 2#define CSIDL_CONTROLS 3#define CSIDL_PRINTERS 4#define CSIDL_PERSONAL 5#define CSIDL_FAVORITES 6#define CSIDL_STARTUP 7#define CSIDL_RECENT 8#define CSIDL_SENDTO 9#define CSIDL_BITBUCKET 10#define CSIDL_STARTMENU 11#define CSIDL_MYMUSIC 13#define CSIDL_MYVIDEO 14#define CSIDL_DESKTOPDIRECTORY 16#define CSIDL_DRIVES 17#define CSIDL_NETWORK 18#define CSIDL_NETHOOD 19#define CSIDL_FONTS 20#define CSIDL_TEMPLATES 21#define CSIDL_COMMON_STARTMENU 22#define CSIDL_COMMON_PROGRAMS 23#define CSIDL_COMMON_STARTUP 24#define CSIDL_COMMON_DESKTOPDIRECTORY 25#define CSIDL_APPDATA 26#define CSIDL_PRINTHOOD 27#define CSIDL_LOCAL_APPDATA 28#define CSIDL_ALTSTARTUP 29#define CSIDL_COMMON_ALTSTARTUP 30#define CSIDL_COMMON_FAVORITES 31#define CSIDL_INTERNET_CACHE 32#define CSIDL_COOKIES 33#define CSIDL_HISTORY 34#define CSIDL_COMMON_APPDATA 35#define CSIDL_WINDOWS 36#define CSIDL_SYSTEM 37#define CSIDL_PROGRAM_FILES 38#define CSIDL_MYPICTURES 39#define CSIDL_PROFILE 40#define CSIDL_SYSTEMX86 41#define CSIDL_PROGRAM_FILESX86 42#define CSIDL_PROGRAM_FILES_COMMON 43#define CSIDL_PROGRAM_FILES_COMMONX86 44#define CSIDL_COMMON_TEMPLATES 45#define CSIDL_COMMON_DOCUMENTS 46#define CSIDL_COMMON_ADMINTOOLS 47#define CSIDL_ADMINTOOLS 48#define CSIDL_CONNECTIONS 49#define CSIDL_COMMON_MUSIC 53#define CSIDL_COMMON_PICTURES 54#define CSIDL_COMMON_VIDEO 55#define CSIDL_RESOURCES 56#define CSIDL_RESOURCES_LOCALIZED 57#define CSIDL_COMMON_OEM_LINKS 58#define CSIDL_CDBURN_AREA 59#define CSIDL_COMPUTERSNEARME 61#define CSIDL_FLAG_DONT_VERIFY 0x4000#define CSIDL_FLAG_CREATE 0x8000#define CSIDL_FLAG_MASK 0xFF00#define CFSTR_SHELLIDLIST TEXT("Shell IDList Array")#define CFSTR_SHELLIDLISTOFFSET TEXT("Shell Object Offsets")#define CFSTR_NETRESOURCES TEXT("Net Resource")#define CFSTR_FILECONTENTS TEXT("FileContents")#define CFSTR_FILENAMEA TEXT("FileName")#define CFSTR_FILENAMEMAPA TEXT("FileNameMap")#define CFSTR_FILEDESCRIPTORA TEXT("FileGroupDescriptor")#define CFSTR_INETURLA TEXT("UniformResourceLocator")#define CFSTR_SHELLURL CFSTR_INETURLA#define CFSTR_FILENAMEW TEXT("FileNameW")#define CFSTR_FILENAMEMAPW TEXT("FileNameMapW")#define CFSTR_FILEDESCRIPTORW TEXT("FileGroupDescriptorW")#define CFSTR_INETURLW TEXT("UniformResourceLocatorW")#ifdef UNICODE#define CFSTR_FILENAME CFSTR_FILENAMEW#define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPW#define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORW#define CFSTR_INETURL CFSTR_INETURLW#else#define CFSTR_FILENAME CFSTR_FILENAMEA#define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPA#define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORA#define CFSTR_INETURL CFSTR_INETURLA#endif#define CFSTR_PRINTERGROUP TEXT("PrinterFriendlyName")#define CFSTR_INDRAGLOOP TEXT("InShellDragLoop")#define CFSTR_PASTESUCCEEDED TEXT("Paste Succeeded")#define CFSTR_PERFORMEDDROPEFFECT TEXT("Performed DropEffect")#define CFSTR_PREFERREDDROPEFFECT TEXT("Preferred DropEffect")#define CMF_NORMAL 0#define CMF_DEFAULTONLY 1#define CMF_VERBSONLY 2#define CMF_EXPLORE 4#define CMF_NOVERBS 8#define CMF_CANRENAME 16#define CMF_NODEFAULT 32#define CMF_INCLUDESTATIC 64#define CMF_RESERVED 0xffff0000#define GCS_VERBA 0#define GCS_HELPTEXTA 1#define GCS_VALIDATEA 2#define GCS_VERBW 4#define GCS_HELPTEXTW 5#define GCS_VALIDATEW 6#define GCS_UNICODE 4#ifdef UNICODE#define GCS_VERB GCS_VERBW#define GCS_HELPTEXT GCS_HELPTEXTW#define GCS_VALIDATE GCS_VALIDATEW#else#define GCS_VERB GCS_VERBA#define GCS_HELPTEXT GCS_HELPTEXTA#define GCS_VALIDATE GCS_VALIDATEA#endif#define CMDSTR_NEWFOLDERA "NewFolder"#define CMDSTR_VIEWLISTA "ViewList"#define CMDSTR_VIEWDETAILSA "ViewDetails"#define CMDSTR_NEWFOLDERW L"NewFolder"#define CMDSTR_VIEWLISTW L"ViewList"#define CMDSTR_VIEWDETAILSW L"ViewDetails"#ifdef UNICODE#define CMDSTR_NEWFOLDER CMDSTR_NEWFOLDERW#define CMDSTR_VIEWLIST CMDSTR_VIEWLISTW#define CMDSTR_VIEWDETAILS CMDSTR_VIEWDETAILSW#else#define CMDSTR_NEWFOLDER CMDSTR_NEWFOLDER#define CMDSTR_VIEWLIST CMDSTR_VIEWLIST#define CMDSTR_VIEWDETAILS CMDSTR_VIEWDETAILS#endif#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY#define CMIC_MASK_ICON SEE_MASK_ICON#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI#define CMIC_MASK_MODAL 0x80000000#define CMIC_VALID_SEE_FLAGS SEE_VALID_CMIC_FLAGS#define GIL_OPENICON 1#define GIL_FORSHELL 2#define GIL_SIMULATEDOC 1#define GIL_PERINSTANCE 2#define GIL_PERCLASS 4#define GIL_NOTFILENAME 8#define GIL_DONTCACHE 16#define FVSIF_RECT 1#define FVSIF_PINNED 2#define FVSIF_NEWFAILED 0x8000000#define FVSIF_NEWFILE 0x80000000#define FVSIF_CANVIEWIT 0x40000000#define CDBOSC_SETFOCUS 0#define CDBOSC_KILLFOCUS 1#define CDBOSC_SELCHANGE 2#define CDBOSC_RENAME 3#define FCIDM_SHVIEWFIRST 0#define FCIDM_SHVIEWLAST 0x7fff#define FCIDM_BROWSERFIRST 0xa000#define FCIDM_BROWSERLAST 0xbf00#define FCIDM_GLOBALFIRST 0x8000#define FCIDM_GLOBALLAST 0x9fff#define FCIDM_MENU_FILE FCIDM_GLOBALFIRST#define FCIDM_MENU_EDIT (FCIDM_GLOBALFIRST+0x0040)#define FCIDM_MENU_VIEW (FCIDM_GLOBALFIRST+0x0080)#define FCIDM_MENU_VIEW_SEP_OPTIONS (FCIDM_GLOBALFIRST+0x0081)#define FCIDM_MENU_TOOLS (FCIDM_GLOBALFIRST+0x00c0)#define FCIDM_MENU_TOOLS_SEP_GOTO (FCIDM_GLOBALFIRST+0x00c1)#define FCIDM_MENU_HELP (FCIDM_GLOBALFIRST+0x0100)#define FCIDM_MENU_FIND (FCIDM_GLOBALFIRST+0x0140)#define FCIDM_MENU_EXPLORE (FCIDM_GLOBALFIRST+0x0150)#define FCIDM_MENU_FAVORITES (FCIDM_GLOBALFIRST+0x0170)#define FCIDM_TOOLBAR FCIDM_BROWSERFIRST#define FCIDM_STATUS (FCIDM_BROWSERFIRST+1)#define SBSP_DEFBROWSER 0#define SBSP_SAMEBROWSER 1#define SBSP_NEWBROWSER 2#define SBSP_DEFMODE 0#define SBSP_OPENMODE 16#define SBSP_EXPLOREMODE 32#define SBSP_ABSOLUTE 0#define SBSP_RELATIVE 0x1000#define SBSP_PARENT 0x2000#define SBSP_INITIATEDBYHLINKFRAME 0x80000000#define SBSP_REDIRECT 0x40000000#define FCW_STATUS 1#define FCW_TOOLBAR 2#define FCW_TREE 3#define FCT_MERGE 1#define FCT_CONFIGABLE 2#define FCT_ADDTOEND 4#define SVSI_DESELECT 0#define SVSI_SELECT 1#define SVSI_EDIT 3#define SVSI_DESELECTOTHERS 4#define SVSI_ENSUREVISIBLE 8#define SVSI_FOCUSED 16#define SVGIO_BACKGROUND 0#define SVGIO_SELECTION 1#define SVGIO_ALLVIEW 2#define SV2GV_CURRENTVIEW ((UINT)-1)#define SV2GV_DEFAULTVIEW ((UINT)-2)typedef ULONG SFGAOF;typedef DWORD SHGDNF;typedef struct _IDA { UINT cidl; UINT aoffset[1];} CIDA,*LPIDA;typedef struct _SHITEMID { USHORT cb; BYTE abID[1];} SHITEMID, * LPSHITEMID;typedef const SHITEMID *LPCSHITEMID;typedef struct _ITEMIDLIST { SHITEMID mkid;} ITEMIDLIST,*LPITEMIDLIST;typedef const ITEMIDLIST *LPCITEMIDLIST;typedef int (CALLBACK* BFFCALLBACK)(HWND,UINT,LPARAM,LPARAM);typedef struct _browseinfoA { HWND hwndOwner; LPCITEMIDLIST pidlRoot; LPSTR pszDisplayName; LPCSTR lpszTitle; UINT ulFlags; BFFCALLBACK lpfn; LPARAM lParam; int iImage;} BROWSEINFOA,*PBROWSEINFOA,*LPBROWSEINFOA;typedef struct _browseinfoW { HWND hwndOwner; LPCITEMIDLIST pidlRoot; LPWSTR pszDisplayName; LPCWSTR lpszTitle; UINT ulFlags; BFFCALLBACK lpfn; LPARAM lParam; int iImage;} BROWSEINFOW,*PBROWSEINFOW,*LPBROWSEINFOW;typedef struct _CMInvokeCommandInfo { DWORD cbSize; DWORD fMask; HWND hwnd;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -