原型:
int SHCreateDirectoryEx( HWND hwnd, LPCTSTR pszPath, SECURITY_ATTRIBUTES *psa );
参数:
HWND hwnd:指向父窗口的句柄,可以设置为NULL,当将其设置为NULL时,返回ERROR_CANCELLED。
LPCTSTR pszPath:指向我们要创建的完整路径字符串,其最长长度为包括空字符在内的248个字符。
SECURITY_ATTRIBUTES *psa:指向SECURITY_ATTRIBUTES结构体,可以设置为NULL,当我们将其设置为NULL时,表示我们对要创建的路径没有特殊的权限限制。
返回值:
ERROR_SUCCESS:成功。
ERROR_BAD_PATHNAME :pszPath指向的路径可能和某些路径相关联。ERROR_FILENAME_EXCED_RANGE: pszPath指向的路径太长了。
ERROR_PATH_NOT_FOUND:pszPath所指路径包含非法字符。
ERROR_FILE_EXISTS:该文件已经存在。
ERROR_ALREADY_EXISTS:pszPath所指路径已经存在。
ERROR_CANCELLED:用户取消了操作。
返回值的具体值:
#define ERROR_SUCCESS 0L
#define ERROR_BAD_PATHNAME 161L
#define ERROR_FILENAME_EXCED_RANGE 206L
#define ERROR_PATH_NOT_FOUND 3L
#define ERROR_FILE_EXISTS 80L
#define ERROR_ALREADY_EXISTS 183L
头文件:
shlobj.h
注意:可以使用GetLastError()函数获取具体的返回值信息。
问题:如果将第一个参数设置为NULL,返回ERROR_CANCELLED