使用C语言获取文件夹地址的方法收藏
|
|
|
#include <stdio.h> #include <stdlib.h>
#include <shlobj.h>
void main(int argc, char* argv[]) { TCHAR szPath[MAX_PATH]; if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_COMMON_ADMINTOOLS|CSIDL_FLAG_CREATE, NULL, 0, szPath))) { printf(szPath); printf("/n"); } }
//*************************************************************************** //CSIDL_FLAG_CREATE($8000) // windows 2000:如果这个CSIDL所引用的文件夹不存在,则创建这个文件夹!. // CSIDL_FLAG_DONT_VERIFY($4000) // WINDOWS 2000: 无论这个CSIDL所引用的文件夹是否存在都使用它! //CSIDL_ADMINTOOLS($30) // 表示当前用户的“管理工具”系统文件夹 //CSIDL_ALTSTARTUP($h1D) // 不详 //CSIDL_APPDATA($1A) // 表示当前用户的特定的应用程序数据存储文件夹,例如:C:/Documents and Settings/username/Application Data //CSIDL_BITBUCKET($A) // 表示回收站 //CSIDL_COMMON_ADMINTOOLS($2F) // 表示所有用户的“管理工具”系统文件夹 //CSIDL_COMMON_ALTSTARTUP($1D) // 表示所有用户的 (只支持WINDOWS NT 系统) //CSIDL_COMMON_APPDATA($23) // 表示所有用户的特定的应用程序数据存储文件夹,例如:C:/Documents and Settings/All Users/Application Data //CSIDL_COMMON_DESKTOPDIRECTORY($19) // 表示所有用户的“桌面”文件夹,例如:C:/Documents and Settings/All Users/Desktop。 //CSIDL_COMMON_DOCUMENTS($2E) // 表示所有用户的“我的文档”文件夹,例如:C:/Documents and Settings/All Users/Documents //CSIDL_COMMON_FAVORITES($1F) // 表示所有用户的“我的收藏夹”文件夹。 //CSIDL_COMMON_PROGRAMS($17) // 表示所有用户的“程序”文件夹,例如:C:/Documents and Settings/All Users/Start Menu/Programs //CSIDL_COMMON_STARTMENU($16) // 表示所有用户的“开始菜单”文件夹,例如:C:/Documents and Settings/All Users/Start Menu //CSIDL_COMMON_STARTUP($18) // 表示所有用户的“启动”文件夹,例如:C:/Documents and Settings/All Users/Start Menu/Programs/Startup //CSIDL_COMMON_TEMPLATES($2D) // 表示所有用户的“模块”文件夹,例如:C:/Documents and Settings/All Users/Templates //CSIDL_CONTROLS($3) // 表示“控制面板”文件夹 //CSIDL_COOKIES($21) // 表示当前用户Internet Explorer的cookie 文件夹,例如:C:/Documents and Settings/username/Cookies //CSIDL_DESKTOP($0) // 表示“桌面”虚拟文件夹,包含了计算机中的所有内容 //CSIDL_DESKTOPDIRECTORY($10) // 表示当前用户的“桌面”文件夹,例如:C:/Documents and Settings/username/Desktop //CSIDL_DRIVES($11) // 表示“我的电脑”虚拟文件夹,包含了计算机中所有的驱动器 //CSIDL_FAVORITES($6) // 表示当前用户的“收藏夹”文件夹,例如:C:/Documents and Settings/username/Favorites //CSIDL_FONTS($14) // 表示“系统字体”文件夹,例如:C:/WINNT/Fonts //CSIDL_HISTORY($22) // 表示Inernet Explorer的“历史记录”文件夹 //CSIDL_INTERNET($1) // 表示Internet的这个虚拟文件夹 //CSIDL_INTERNET_CACHE($20) // 表示当前用户的Internet Explorer的"Cache"文件夹,例如:C:/Documents and Settings/username/Temporary Internet Files //CSIDL_LOCAL_APPDATA($1C) // 表示当前用户的应用程序数据文件夹,例如:C:/Documents and Settings/username/Local Settings/Application Data //CSIDL_MYMUSIC // 表示当前用户存储音乐文件的文件夹,例如:C:/Documents and Settings/User/My Documents/My Music //CSIDL_MYPICTURES($27) // 表示当前用户存储图像文件的文件夹,例如:C:/Documents and Settings/username/My Documents/My Pictures //CSIDL_NETHOOD($13) // 表示当前用户存在的网络连接的文件夹,例如:C:/Documents and Settings/username/NetHood //CSIDL_NETWORK($12) // 表示“网上邻居”这个虚拟文件夹 //CSIDL_PERSONAL($5) // 表示当前用户的“我的文档”文件夹,例如:C:/Documents and Settings/username/My Documents //CSIDL_PRINTERS($4) // 指向“打印机”这个虚拟文件夹 //CSIDL_PRINTHOOD($1B) // 表示当前用户存在的网络打印机的虚拟文件夹,例如:C:/Documents and Settings/username/PrintHood //CSIDL_PROFILE($28) // 表示当前用用户配置文件的文件夹 //CSIDL_PROGRAM_FILES($26) // 表示程序文件的文件夹,例如:C:/Program Files //CSIDL_PROGRAM_FILES_COMMON($2B) // 表示系统程序共用组件文件夹,例如:C:/Program Files/Common //CSIDL_PROGRAMS($2) // 表示当前用户的“程序”菜单文件夹,例如:C:/Documents and Settings/username/Start Menu/Programs //CSIDL_RECENT($8) // 表示当前用户的“文档”菜单文件夹,例如:C:/Documents and Settings/username/Start Menu/Programs //CSIDL_SENDTO($9) // 表示当前用户的“发送到”文件夹,例如:C:/Documents and Settings/username/SendTo //CSIDL_STARTMENU($B) // 表示当前用户的“开始”菜单文件夹,例如:C:/Documents and Settings/username/Start Menu //CSIDL_STARTUP($7) // 表示当前用户的“启动”菜单文件夹,例如:C:/Documents and Settings/username/Start Menu/Programs/Startup //CSIDL_SYSTEM($25) // 表示WINDOWS系统的系统文件夹,例如:C:/WINNT/SYSTEM32 //CSIDL_TEMPLATES($15) // 表示的是系统中存储文档模块的文件夹 //CSIDL_WINDOWS($24) // 表示的是系统中Windows目录的文件珍,例如:C:/WINNT //***************************************************************************/
CSIDL_PERSONAL : void main(int argc, char* argv[]) { TCHAR szPath[MAX_PATH]; if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PERSONAL|CSIDL_FLAG_CREATE, NULL, 0, szPath))) { printf(szPath); printf("/n"); } }
|
|
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理