现在的位置: 首页 > 综合 > 正文

获取系统特殊路径如:我的文档,开始路径等

2013年09月05日 ⁄ 综合 ⁄ 共 882字 ⁄ 字号 评论关闭

  使用API函数SHGetSpecialFolderLocation。shlobj.h里有SHGetSpecialFolderLocation的原型声明。这个函数可以帮我们找到Windows的桌面目录、启动目录、我的文档目录等。    
          SHGetSpecialFolder需要三个参数。   第一个参数是HWND,它指定了"所有者窗口":在调用这个函数时可能出现的对话框或消息框。第二个参数是一个整数id,决定哪个目录是待查找目录,它的取值可能是:    
  CSIDL_BITBUCKET   回收站    
  CSIDL_CONTROLS   控制面板    
  CSIDL_DESKTOP   Windows   桌面Desktop    
  CSIDL_DESKTOPDIRECTORY   Desktop的目录    
  CSIDL_DRIVES   我的电脑    
  CSIDL_FONTS   字体目录    
  CSIDL_NETHOOD   网上邻居    
  CSIDL_NETWORK   网上邻居虚拟目录    
  CSIDL_PERSONAL   我的文档    
  CSIDL_PRINTERS   打印机    
  CSIDL_PROGRAMS   程序组    
  CSIDL_RECENT   最近打开的文档    
  CSIDL_SENDTO   “发送到”菜单项    
  CSIDL_STARTMENU   任务条启动菜单项    
  CSIDL_STARTUP   启动目录    
  CSIDL_TEMPLATES   文档模板    

 

 

TCHAR   szDocument[MAX_PATH]={0};  
  memset(m_lpszDefaultDir,0,_MAX_PATH);  
   
  LPITEMIDLIST pidl=NULL;  
  SHGetSpecialFolderLocation(NULL,   CSIDL_PERSONAL,   &pidl);  
  if   (pidl   &&   SHGetPathFromIDList(pidl,   szDocument))  
  {  
  GetShortPathName(szDocument,m_lpszDefaultDir,_MAX_PATH);  
  }

抱歉!评论已关闭.