1. CreateDirectory 创建文件夹(只能创建一级目录) CC++
函数原型:
CreateDirectory(
LPCTSTR lpPathName,
LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
简介:
CreateDirectory 是Win32API函数,用于创建文件夹。
参数 lpPathName 表示路径
参数 lpSecurityAttributes 表示安全属性
============================================================================
1 //例子(程序段): 2 3 //设置属性 4 SECURITY_ATTRIBUTES attribute; 5 attribute.nLength = sizeof(attribute); 6 attribute.lpSecurityDescriptor = NULL; 7 attribute.bInheritHandle = FALSE; 8 //创建 9 if(CreateDirectoryA(“d:\yanlei”,&attribute) == 0) 10 AfxMessageBox("false");
2. SHCreateDirectoryEx 创建多级目录
1.介绍
SHCreateDirectoryEx是window flatform下建立文件夹的函数,他的功能比CreateDirectory(Ex)大。如果创建文件夹目录有的中间目录不存在,SHCreateDirectoryEx可以建立,而CreateDirectory(Ex)则做不到这一点。
2.使用方法
要想使用SHCreateDirectoryEx,必须先安装windows2000 floatform SDK,或者从已经安装的些开发包的系统中,把需要的文件考过来,这样比较麻烦,所以还要去微软的网站上下载一个开发包安装为好。些函数最低的系统要求为windows2000和window Me.
假设的Flatform SDK安装在C:PROGRAM FILESMICROSOFT PLATFORM SDK目录下
在VC6中编译程序时(其他的编译工具遇到情况,用类似的方法解决)
如果出现这种错误:
error C2065: \'SHCreateDirectoryEx\' : undeclared identifier
则打开工具栏Project->Setting.s..
出现配置窗口
选择C/C++
Category选择Preprocessor
在Additional include directories
添加C:PROGRAM FILESMICROSOFT PLATFORM SDKINCLUDE
设置完成后
在程序中添加引入库
#pragma comment(lib, "C:\Program Files\Microsoft Platform SDK\Lib\shell32.lib")
这样应该可以成功完成编译了。
3.函数使用
int SHCreateDirectoryEx(
HWND hwnd,
LPCTSTR pszPath,
SECURITY_ATTRIBUTES *psa
);
hwnd是窗口句柄,可以为NULL.
psa是安全属性设置项,可以为NULL.
pszPath要注意,这个路径必须是绝对路径. 比如c: est, d:hello, 不能写成test,也不能写成. est这样的相对路径。