TCHAR lpszDesktopPath[MAX_PATH]; if(::SHGetSpecialFolderPath(AfxGetMainWnd()-> m_hWnd,lpszDesktopPath,CSIDL_DESKTOP,NULL)) { CString str(_T("")); str.Format(_T("%s"),lpszDesktopPath); AfxMessageBox(str); } 注意:TCHAR WCHAR LPWSTR wchar* CString 转换 ------------------------------------------------------------------------------------------------------------------- DWORD dwAttr=GetFileAttributesW(m_savepath); //m_savepath路径,如:C:\\报表 if(dwAttr==0xFFFFFFFF) //若文件夹不存在,创建文件夹 CreateDirectoryW(m_savepath,NULL); else if(dwAttr & FILE_ATTRIBUTE_DIRECTORY) //若是文件夹 ,就处理 { } ------------------------------------------------------------------------------------------------------------------------ 声明API: function ulong SHGetSpecialFolderPath(long hwndOwner,ref
string lpszPath,int nFolder,boolean fCreate ) LIBRARY "shell32.dll"
ALIAS FOR "SHGetSpecialFolderPathA"
Function Long GetDesktopWindow() Library 'user32.dll'
hwndOwner :用GetDesktopWindow API取一个窗口句柄。
lpszPath:返回的路径
nFolder:标识代号
fCreate:true :如果文件夹不存在则创建,false:不创建
lpszPath和nFolder对应关系:
nFolder |
lpszPath |
0 |
C:/Documents and Settings/当前用户/桌面 |
2 |
C:/Documents and Settings/当前用户/「开始」菜单/程序 |
5 |
C:/Documents and Settings/当前用户/My Documents |
6 |
C:/Documents and Settings/当前用户/Favorites |
7 |
C:/Documents and Settings/当前用户/「开始」菜单/程序/启动 |
8 |
C:/Documents and Settings/当前用户/Recent |
9 |
C:/Documents and Settings/当前用户/SendTo |
11 |
C:/Documents and Settings/当前用户/「开始」菜单 |
13 |
C:/Documents and Settings/当前用户/My Documents/My Music |
14 |
C:/Documents and Settings/当前用户/My Documents/My Videos |
16 |
C:/Documents and Settings/当前用户/桌面 |
19 |
C:/Documents and Settings/当前用户/NetHood |
20 |
C:/WINDOWS/Fonts |
21 |
C:/Documents and Settings/当前用户/Templates |
22 |
C:/Documents and Settings/All Users/「开始」菜单 |
23 |
C:/Documents and Settings/All Users/「开始」菜单/程序 |
24 |
C:/Documents and Settings/All Users/「开始」菜单/程序/启动 |
25 |
C:/Documents and Settings/All Users/桌面 |
26 |
C:/Documents and Settings/当前用户/Application Data |
27 |
C:/Documents and Settings/当前用户/PrintHood |
28 |
C:/Documents and Settings/当前用户/Local Settings/Application Data |
31 |
C:/Documents and Settings/All Users/Favorites |
32 |
C:/Documents and Settings/当前用户/Local Settings/Temporary Internet Files |
33 |
C:/Documents and Settings/当前用户/Cookies |
34 |
C:/Documents and Settings/当前用户/Local Settings/History |
35 |
C:/Documents and Settings/All Users/Application Data |
36 |
C:/WINDOWS |
37 |
C:/WINDOWS/system32 |
38 |
C:/Program Files |
39 |
C:/Documents and Settings/当前用户/My Documents/My Pictures |
40 |
C:/Documents and Settings/当前用户 |
43 |
C:/Program Files/Common Files |
45 |
C:/Documents and Settings/All Users/Templates |
46 |
C:/Documents and Settings/All Users/Documents |
47 |
C:/Documents and Settings/All Users/「开始」菜单/程序/管理工具 |
48 |
C:/Documents and Settings/当前用户/「开始」菜单/程序/管理工具 |
53 |
C:/Documents and Settings/All Users/Documents/My Music |
54 |
C:/Documents and Settings/All Users/Documents/My Pictures |
55 |
C:/Documents and Settings/All Users/Documents/My Videos |
56 |
C:/WINDOWS/resources |
59 |
C:/Documents and Settings/当前用户/Local Settings/Application Data/Microsoft/CD Burning |
|