CString str; TCHAR path[MAX_PATH]; BOOL b = SHGetSpecialFolderPath(NULL, path, CSIDL_PROGRAM_FILES_COMMONX86, 0);//获取指定的系统路径 /* 参数1:HWND hwndOwner 窗口所有者的句柄。可以NULL 参数2:LPTSTR lpszPath 返回路径的缓冲区,该缓冲区的大小至少为MAX_PATH 参数3:int nFolder 系统路径的CSIDL标识 CSIDL (constant special item ID list)是系统定义的特殊条目的ID列表 在vista之后被KNOWNFOLDERID所替代(但为保持兼容性,仍支持CSIDL) CSIDL_DESKTOP=0x0000 桌面 C:\Users\Administrator\Desktop CSIDL_INTERNET=0x0001 Internet Explorer (icon on desktop) CSIDL_PROGRAMS=0x0002 Start Menu\Programs C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs CSIDL_CONTROLS=0x0003 My Computer\Control Panel CSIDL_PRINTERS=0x0004 My Computer\Printers CSIDL_PERSONAL=0x0005 My Documents我的文档 C:\Users\Administrator\Documents CSIDL_FAVORITES=0x0006 <user name>\Favorites收藏夹 C:\Users\Administrator\Favorites CSIDL_STARTUP=0x0007 Start Menu\Programs\Startup启动 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup CSIDL_RECENT=0x0008 <user name>\Recent最近使用的项目 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Recent CSIDL_SENDTO=0x0009 <user name>\SendTo C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo CSIDL_BITBUCKET=0x000a <desktop>\Recycle Bin CSIDL_STARTMENU=0x000b <user name>\Start Menu C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu CSIDL_MYDOCUMENTS 我的文档 C:\Users\Administrator\Documents CSIDL_MYMUSIC=0x000d "My Music" folder音乐 C:\Users\Administrator\Music CSIDL_MYVIDEO=0x000e "My Videos" folder视频 C:\Users\Administrator\Videos CSIDL_DESKTOPDIRECTORY=0x0010 桌面 C:\Users\Administrator\Desktop CSIDL_DRIVES=0x0011 My Computer CSIDL_NETWORK=0x0012 Network Neighborhood (My Network Places) CSIDL_NETHOOD=0x0013 <user name>\nethood C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Network Shortcuts CSIDL_FONTS=0x0014 windows\fonts 字体 C:\Windows\Fonts CSIDL_TEMPLATES=0x0015 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Templates CSIDL_COMMON_STARTMENU=0x0016 All Users\Start Menu C:\ProgramData\Microsoft\Windows\Start Menu CSIDL_COMMON_PROGRAMS=0X0017 All Users\Start Menu\Programs C:\ProgramData\Microsoft\Windows\Start Menu\Programs CSIDL_COMMON_STARTUP=0x0018 All Users\Startup C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup CSIDL_COMMON_DESKTOPDIRECTORY=0x0019 All Users\Desktop C:\Users\Public\Desktop CSIDL_APPDATA=0x001a <user name>\Application Data C:\Users\Administrator\AppData\Roaming CSIDL_PRINTHOOD=0x001b <user name>\PrintHood CSIDL_LOCAL_APPDATA CSIDL_LOCAL_APPDATA=0x001c <user name>\Local Settings\Applicaiton Data (non roaming) CSIDL_LOCAL_APPDATA CSIDL_ALTSTARTUP=0x001d non localized startup CSIDL_COMMON_ALTSTARTUP=0x001e non localized common startup CSIDL_COMMON_FAVORITES=0x001f _SHFOLDER_H_ CSIDL_INTERNET_CACHE=0x0020 CSIDL_COOKIES=0x0021 CSIDL_HISTORY=0x0022 CSIDL_COMMON_APPDATA=0x0023 All Users\Application Data CSIDL_WINDOWS=0x0024 GetWindowsDirectory() CSIDL_SYSTEM=0x0025 GetSystemDirectory() CSIDL_PROGRAM_FILES=0x0026 C:\Program Files CSIDL_MYPICTURES=0x0027 C:\Program Files\My Pictures _SHFOLDER_H_ CSIDL_PROFILE=0x0028 USERPROFILE CSIDL_SYSTEMX86=0x0029 x86 system directory on RISC CSIDL_PROGRAM_FILESX86=0x002a x86 C:\Program Files on RISC CSIDL_PROGRAM_FILES_COMMON=0x002b C:\Program Files\Common CSIDL_PROGRAM_FILES_COMMONX86=0x002c x86 C:\Program Files (x86)\Common Files CSIDL_COMMON_TEMPLATES=0x002d All Users\Templates CSIDL_COMMON_DOCUMENTS=0x002e All Users\Documents CSIDL_COMMON_ADMINTOOLS=0x002f All Users\Start Menu\Programs\Administrative Tools CSIDL_ADMINTOOLS=0x0030 <user name>\Start Menu\Programs\Administrative Tools CSIDL_CONNECTIONS=0x0031 Network and Dial-up Connections CSIDL_COMMON_MUSIC=0x0035 All Users\My Music CSIDL_COMMON_PICTURES=0x0036 All Users\My Pictures CSIDL_COMMON_VIDEO 0x0037 // All Users\My Video CSIDL_RESOURCES 0x0038 // Resource Direcotry CSIDL_RESOURCES_LOCALIZED 0x0039 // Localized Resource Direcotry CSIDL_COMMON_OEM_LINKS 0x003a // Links to All Users OEM specific apps CSIDL_CDBURN_AREA 0x003b // USERPROFILE\Local Settings\Application Data\Microsoft\CD Burning CSIDL_COMPUTERSNEARME 0x003d // Computers Near Me (computered from Workgroup membership) CSIDL_FLAG_CREATE 0x8000 // combine with CSIDL_ value to force folder creation in SHGetFolderPath() CSIDL_FLAG_DONT_VERIFY 0x4000 // combine with CSIDL_ value to return an unverified folder path CSIDL_FLAG_DONT_UNEXPAND 0x2000 // combine with CSIDL_ value to avoid unexpanding environment variables CSIDL_FLAG_NO_ALIAS 0x1000 // combine with CSIDL_ value to insure non-alias versions of the pidl CSIDL_FLAG_PER_USER_INIT 0x0800 // combine with CSIDL_ value to indicate per-user init (eg. upgrade) CSIDL_FLAG_MASK 0xFF00 // mask for all possible flag values 参数4:BOOL fCreate 指示文件夹不存在时是否创建。为false则不创建,否则创建 返回值:函数执行成功则返回true,否则返回false */ str = path; ::OutputDebugString(str);
标签:Administrator,MFC,Users,Menu,路径,Start,COMMON,CSIDL,SHGetSpecialFolderPath From: https://www.cnblogs.com/liming19680104/p/17341910.html