首页 > 其他分享 >SHGetSpecialFolderPath(NULL, path, CSIDL_PROGRAM_FILES_COMMONX86, 0)

SHGetSpecialFolderPath(NULL, path, CSIDL_PROGRAM_FILES_COMMONX86, 0)

时间:2024-02-15 14:11:06浏览次数:17  
标签:FILES Administrator Users Menu COMMONX86 Start PROGRAM COMMON CSIDL

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);

 

标签:FILES,Administrator,Users,Menu,COMMONX86,Start,PROGRAM,COMMON,CSIDL
From: https://www.cnblogs.com/hshy/p/18016225

相关文章

  • [970] Combine multiple Excel files into one Excel file with multiple sheets
    YoucancombinemultipleExcelfilesintooneExcelfilewithmultiplesheetsusingthePandaslibraryinPython.Here'sageneralapproach:ReadeachExcelfileintoaPandasDataFrame.CreateanExcelwriterobjectusingPandas.WriteeachDataFra......
  • [971] [Keep original formats] Combine multiple Excel files into one Excel file w
    IftheexistingExcelfilehasspecialformattingthatpreventsreadingitdirectlywithPandas,youcanusealibrarylikeopenpyxltohandletheappendingofnewsheets.Here'showyoucanachievethis:importosfromopenpyxlimportload_workbook......
  • The 18th Heilongjiang Provincial Collegiate Programming Contest
    A.MagicComputer看题目猜规律#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongusingvi=vector<int>;usingi32=int32_t;constintmod=998244353;intpower(intx,inty){intans=1;while(y){if(y&......
  • nginx里alias,root,try_files笔记
    先说结果:try_files一共有三个值$uri,$uri//index.html,前两个值取决于alias,最后一个值和alias无关,取决于root,即如果最后一个值/index.html,则实际地址是root/index.html,不是alias/index.html,和alias一点关系没有,还有root,alias可以说不是一个东西,root中文意思根路径,限定......
  • dremio FileSystem 简单说明
    dremio尽管对于文件系统的使用很多底层都是hdfs的(s3,发射加速),dremio为了减少直接依赖hdfs,自己抽象了一个FileSystem接口对于不同的实现可以方便进行扩展,当然和刚才说的一样,不少底层依赖的是hdfs的FileSystem参考子类如下图简单说明:FilterFileSystem实现了FileSy......
  • Japan Registry Services (JPRS) Programming Contest 2024 (AtCoder Beginner Contes
    JapanRegistryServices(JPRS)ProgrammingContest2024(AtCoderBeginnerContest339)A-TLD代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;usingpii=pair<ll,ll>;#definefifirst#definesesecondusingi128=__......
  • Docker:Failed to copy files, no space left on device
    主页个人微信公众号:密码应用技术实战个人博客园首页:https://www.cnblogs.com/informatics/问题描述在Mac上进行docker构建时,偶尔会遇到以下问题Failedtocopyfiles:userspacecopyfailed:write/var/lib/docker/volumes/xxx/_data/xxx.dbf:nospaceleftondevice......
  • 2019-2020 ICPC Northwestern European Regional Programming Contest (NWERC 2019)
    Preface由于前两天疑似感染风寒,今天头痛+鼻塞+咽炎一条龙,硬打了4h顶不住就下班了最后过了8个题也还行,比较可惜的就是H题从中期写到结束,祁神和徐神各写了一个version也没过A.AverageRank挺有意思的一个题考虑将一个原来分数为\(x\)的人加\(1\)分后会发生什么,显然只有原来分......
  • Japan Registry Services (JPRS) Programming Contest 2024 (AtCoder Beginner Contes
    //这一场我感觉有了新的蜕变思考问题也变了多种,3题(✌)A-TLD思路:题目本意 Youaregivenastring S, Printthelastsubstringwhen S issplitby .s给你一个字符串输出最后的点的网址(类似)的后缀,入坑点没有,题意简单。思路方法:最后一个‘.’为停止符号,倒的字符串......
  • springboot多环境开发pofiles
    不同环境下,不同yml配置,分隔不同环境1.单文件使用 使用---分隔2.多文件使用由application.yml中指定使用 分组  组激活......