#include <stdio.h>
#include <stdlib.h>
#include <shlobj.h>
void main(int argc, char* argv[])
{
TCHAR szPath[MAX_PATH];
if(SUCCEEDED(SHGetFolderPath(NULL,
CSIDL_COMMON_ADMINTOOLS|CSIDL_FLAG_CREATE,
NULL,
0,
szPath)))
{
printf(szPath);
printf("/n");
}
}
//***************************************************************************
//CSIDL_FLAG_CREATE($8000)
// windows 2000:如果这个CSIDL所引用的文件夹不存在,则创建这个文件夹!.
// CSIDL_FLAG_DONT_VERIFY($4000)
// WINDOWS 2000: 无论这个CSIDL所引用的文件夹是否存在都使用它!
//CSIDL_ADMINTOOLS($30)
// 表示当前用户的“管理工具”系统文件夹
//CSIDL_ALTSTARTUP($h1D)
// 不详
//CSIDL_APPDATA($1A)
// 表示当前用户的特定的应用程序数据存储文件夹,例如:C:/Documents and Settings/username/Application Data
//CSIDL_BITBUCKET($A)
// 表示回收站
//CSIDL_COMMON_ADMINTOOLS($2F