判断windows的Desktop及其它目录

2016-02-19 13:27 1 1 收藏

今天图老师小编给大家展示的是判断windows的Desktop及其它目录,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - 编程语言 】


  使用API函数SHGetSpecialFolder。shlobj.h里有SHGetSpecialFolder的原型声明。这个函数可以帮我们找到windows的Desktop目录、启动目录、我的文档目录等。
  SHGetSpecialFolder需要三个参数。 第一个参数是HWND,它指定了"所有者窗口":在调用这个函数时可能出现的对话框或消息框。第二个参数是一个整数id,决定哪个目录是待查找目录,它的取值可能是:
  
  CSIDL_B99vBUCKET 回收站
  CSIDL_CONTROLS 控制面板
  CSIDL_DESKTOP Windows 桌面desktop
  CSIDL_DESKTOPDirectorY desktop的目录
  CSIDL_DRIVES 我的电脑
  CSIDL_FONTS 字体目录
  CSIDL_NETHOOD 网上邻居
  CSIDL_NETWORK 网上邻居virtual folder
  CSIDL_PERSONAL 我的文档
  CSIDL_PRINTERS 打印机
  CSIDL_PROGRAMS 程序组
  CSIDL_RECENT 大多数最近打开的文档列一
  CSIDL_SENDTO “发送到”菜单项
  CSIDL_STARTMENU 任务条启动菜单项
  CSIDL_STARTUP 启动目录
  CSIDL_TEMPLATES 临时文档
  最后一个参数是pidl地址。SHGetSpecialFolderLocation把地址写到pidl。
  下面的代码演示了怎样使用SHGetSpecialFolderLocation:
  
  //----------------------------------------------------------------------
  void __fastcall TForm1::Button1Click(TObject *Sender)
  {
  LP99vEMIDLIST pidl;
  LPMALLOC pShellMalloc;
  char szDir[MAX_PATH];
  
  if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
  {
  if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,
  CSIDL_DESKTOPDIRECTORY,
  &pidl)))
  {
  // 假如成功返回true
  if(SHGetPathFromIDList(pidl, szDir))
  {
  Label1-Caption = szDir;
  }
  
  pShellMalloc-Free(pidl);
  }
  
  pShellMalloc-Release();
  }
  }
  //----------------------------------------------------------------------
  注重: 有些目录是空的。有些特定的目录在这个文件系统上并没有一个相应的目录。
  

来源:https://www.tulaoshi.com/n/20160219/1604324.html

延伸阅读
儿童心理健康的5个主要标志 具体说来,他们在生活、学习、劳动以及与人相处等方面,应有如下表现: 1.情绪基本上是愉快、稳定的。不经常发怒,不无故摔打玩具与其他什物;生活起居正常,能按时入睡,睡眠安稳,少梦魇,无吮吸手指或咬物入睡的习惯;基本上能听从成人的合理嘱咐,不过分的挑食、拣穿,不经常无理取闹。 2.求知...
C++ At Work 专栏... 禁用屏幕拷贝(Print Screen),调用派生的析构函数及其它...... 原著:Paul DiLascia 翻译:FatFatSon,NorthTibet 下载源代码:CAtWork0511.exe (273KB) 原文出处:Disabling Print Screen, Calling Derived Destructors, and More 我正在开发一个显示图形的程序...
C++ Q&A 专栏... 删除托管对象,如何包装一个库?及其它...... 原著:Paul DiLascia 翻译:Northtibet 原代码下载:CQA0412.exe (235KB) 原文出处:MSDN Magazine December 2004 (C++ Q&A) 删除托管对象 如何包装一个库? 如何将托管 Strin...
现在网上的电子图书绝大部分都是pdf、chm、wdl和word文档doc格式。也有部分图书采用纯文本txt格式。txt格式在linux下可用文本阅读器打开,灰褂玫膌inux平台支持中文显示,使用上不存在什么问题。pdf格式由于使用广泛,在linux下也得到了良好支持,可以使用xpdf,KGhostView等打开阅读,还可以到www.adobe.com去下载linux版的Acrobat Reade...
标签: windows 操作系统
Windows系统目录是Windows操作系统的重要目录,当我们访问这个目录时,系统会提示你这个目录的重要性,如果需要进入,只需要单击“显示文件”就可以大摇大摆地走进去了。如果我们给Windows目录增加一个进入口令,只有那些口令输入正确的人才能进入,这样,你的Windows目录不是安全多了,而且一些不愿让别人看到的文档也可以放到里面。 给W...

经验教程

811

收藏

88
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部