【收集】系统文件夹路径的系统宏定义及意义,使用SHGetFolderPath API获得路径示例
2013-06-18 11:33
281 查看
获取系统文件夹路径方法:
(1)SHGetKnownFolderPath Function with KNOWNFOLDERID
(2)SHGetFolderPath Function with CSIDL
SHGetFolderPath:
已过时。通过CSIDL值获取系统文件夹的路径。
注意:Windows Vista中,这仅仅是一个对SHGetKnownFolderPath的包装。 CSIDL值被转换成与其对应的KNOWNFOLDERID值然后调用SHGetKnownFolderPath。新的应用程序应该使用“已知的文件夹系统”(known folder system),而不是旧的CSIDL系统(该系统仅为了支持向后兼容)。
MSDN:http://msdn.microsoft.com/en-us/library/bb762181(VS.85).aspx
另附一些CSIDL值代表的意思:http://hi.baidu.com/cnoldjohn/item/c4cf40302068c24b033edc88,其实msdn上很详细。
(1)SHGetKnownFolderPath Function with KNOWNFOLDERID
(2)SHGetFolderPath Function with CSIDL
SHGetFolderPath:
已过时。通过CSIDL值获取系统文件夹的路径。
注意:Windows Vista中,这仅仅是一个对SHGetKnownFolderPath的包装。 CSIDL值被转换成与其对应的KNOWNFOLDERID值然后调用SHGetKnownFolderPath。新的应用程序应该使用“已知的文件夹系统”(known folder system),而不是旧的CSIDL系统(该系统仅为了支持向后兼容)。
#pragma comment (lib, "shlwapi.lib") #include <shlobj.h> #include <shlwapi.h> #include <windows.h> #include <stdio.h> int main(void) { char DataDir[MAX_PATH]; int len; memset(DataDir, 0, sizeof(DataDir)); if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_COMMON_APPDATA, NULL, 0, DataDir))) PathAppendA(DataDir, "XXXX\\XXXX.txt"); else return -1; len = strlen(DataDir); printf("%s\n", DataDir); return 0; }
MSDN:http://msdn.microsoft.com/en-us/library/bb762181(VS.85).aspx
另附一些CSIDL值代表的意思:http://hi.baidu.com/cnoldjohn/item/c4cf40302068c24b033edc88,其实msdn上很详细。
相关文章推荐
- 系统文件夹路径的系统宏定义及意义,使用SHGetFolderPath API获得路径示例
- 系统文件夹路径的系统宏定义及意义,使用SHGetFolderPath API获得路径示例
- vc 获得系统相关路径一个很强悍的API(SHGetSpecialFolderPath) 一个由输入法引起的问题 VK_PROCESSKEY
- 使用VB获得系统目录路径
- 系统文件夹路径的系统宏定义
- PowerShell中使用Test-Path命令检查文件或文件夹路径是否存在示例
- 内部存储的读操作及使用API获得路径
- 获得执行jar的运行路径-使用java.class.path 和 codesource的location
- WPF 中Path路径的使用示例
- 获得执行jar的运行路径-使用java.class.path 和 codesource的location
- 对gcc搜索路径的研究/以及不修改/etc/ld.so.conf使用非默认路径下的库文件--LD_LIBRARY_PATH
- 老李推荐: 第3章2节《MonkeyRunner源码剖析》脚本编写示例: MonkeyDevice API使用示例 1
- 内存文件系统使用及示例:ramdisk, ramfs, tmpfs
- 老李推荐: 第3章2节《MonkeyRunner源码剖析》脚本编写示例: MonkeyDevice API使用示例 2
- 获得Android系统外置SD卡的路径
- 系统信息收集API : Java Sigar
- 百度语音识别REST API——通过使用Http网络请求方式获得语音识别功能
- init.rc 引用到的setprop意义(Android系统中setprop,getprop,watchprops命令的使用 )
- LINUX下多路径(multi-path)介绍及使用
- 使用 golang 收集系统指标