SHGetFolderPath 获取系统各文件夹路径

// SHGetFolderPath

string cFilePath;

SHGetFolderPath(NULL ,CSIDL_PERSONAL ,0 ,0 ,cFilePath);

以下为函数原型:

HRESULT SHGetFolderPath(      
    HWND hwndOwner,
    int nFolder,
    HANDLE hToken,
    DWORD dwFlags,
    LPTSTR pszPath
);

其中nFolder指定要获取的目录(具体参考MSDN说明)

CSIDL_BITBUCKET   回收站  
CSIDL_CONTROLS   控制面板  
CSIDL_DESKTOP   Windows   桌面Desktop  
CSIDL_DESKTOPDIRECTORY   Desktop的目录  
CSIDL_DRIVES   我的电脑  
CSIDL_FONTS   字体目录  
CSIDL_NETHOOD   网上邻居  
CSIDL_NETWORK   网上邻居虚拟目录  
CSIDL_PERSONAL   我的文档  
CSIDL_PRINTERS   打印机  
CSIDL_PROGRAMS   程序组  
CSIDL_RECENT   最近打开的文档  
CSIDL_SENDTO   “发送到”菜单项  
CSIDL_STARTMENU   任务条启动菜单项  
CSIDL_STARTUP   启动目录  
CSIDL_TEMPLATES   文档模板

// GetTempPath 得到系统临时目录

char tempPath[_MAX_PATH+1] = { ‘\0‘ };

GetTempPath(_MAX_PATH, tempPath); //tempPath = "C:\Users\a\AppData\Local\Temp\"

时间: 2024-10-28 15:38:36

SHGetFolderPath 获取系统各文件夹路径的相关文章

获取系统特殊文件夹路径信息

//获取系统特殊文件夹路径信息 try {   this.textBox1.Text=Environment.GetFolderPath(System.Environment.SpecialFolder.System);   this.textBox2.Text=Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles);   this.textBox3.Text=Environment.GetFolderPa

获取系统特殊文件夹路径

实现效果: 知识运用: Environment类的GetFolderPath方法 //获取指向由枚举标识的系统特殊文件夹的路径 public static string GetFolderPath (Environment.SpecialFolder   folder) 实现代码: private void Form1_Load(object sender, EventArgs e) { foreach (Environment.SpecialFolder item in System.Enum

python获取Windows特殊文件夹路径

有时候你想给你的程序添加桌面快捷方式,但却连桌面的准确路径都不知道,还好微软的API给出了一些特殊文件夹路径的获取方法,再利用python的win32com模块(非标准库)即可在python中实现同样的操作! # -*- coding: cp936 -*- from win32com.shell import shell from win32com.shell import shellcon #获取"启动"文件夹路径,关键是最后的参数CSIDL_STARTUP,这些参数可以在微软的官方

C# - 获取windows系统特殊文件夹路径

一.路径分类 1.绝对路径 完整路径,从磁盘符号开始,如:C:\Windows 2.相对路径 以当前路径为起点,不包含磁盘符号,通常使用"..\"符号来访问上级目录中的文件或文件夹. ../Windows/System32 二.Windows系统常见的特殊路径 1.当前路径 2.我的文档 3.收藏夹 4.桌面 5.最近使用的文档 6.程序当前路径 三.路径获取示例 1 private void btnGetCurPath_Click(object sender, EventArgs e

关于获取系统特殊文件夹的方法

一.获取当前文件的路径1.   System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName     获取模块的完整路径,包括文件名.2.   System.Environment.CurrentDirectory     获取和设置当前目录(该进程从中启动的目录)的完全限定目录.3.   System.IO.Directory.GetCurrentDirectory()     获取应用程序的当前工作目录.这个不一定是程序

php通过变通方法检测系统的文件夹路径编码

最近在通过php来写一个类似ftp的的web-ftp平台; 需要兼容linux和window的路径访问; 过程中发现window与linux使用的路径编码是不一样的,比如linux好像是utf-8,window却是gbk; php的编码是utf-8,如果路径中有中文,统一使用utf-8编码来访问路径,就会出现像file_exists这类fs方法出现无法访问情况; 因为路径不存在,原因就是utf-8按照gbk的格式来解析路径编码时,肯定是中文变成不的字符了;就出现路径不存在而出错; 这时就需要自动

获取沙盒文件夹路径的几个方法

1 #import "ViewController.h" 2 3 @interface ViewController () 4 5 @end 6 7 @implementation ViewController 8 9 - (void)viewDidLoad { 10 [super viewDidLoad]; 11 12 #pragma mark - 第一种打开应用程序沙盒路径的方式 13 14 // 地址是一个字符串 15 // NSSearchPathForDirectoriesI

laravel获取不同目录文件夹路径的函数

laravel下面有几个取特殊路径的函数,这里做个总结.大家按需取用即可.除了base_path是指的代码根目录外,其他的几个函数都指代的是具体的同名目录. base_path() //站点根目录 app_path() //app目录 public_path() //public目录 storage_path() // storage 目录 resource_path() //resources 目录 config_path() // config 目录 database_path() // d

java 弹出选择目录框(选择文件夹),获取选择的文件夹路径

1 int result = 0; 2 File file = null; 3 String path = null; 4 JFileChooser fileChooser = new JFileChooser(); 5 FileSystemView fsv = FileSystemView.getFileSystemView(); //注意了,这里重要的一句 6 System.out.println(fsv.getHomeDirectory()); //得到桌面路径 7 fileChooser