如何取得系统中的桌面的路径计算机等级考试

文章作者 100test 发表时间 2010:01:01 09:35:57
来源 100Test.Com百考试题网


  我们在编写程序的时候,经常会需要得到系统中的一些特殊目录,例如:桌面、收藏夹、历史文件、字体等。在windows98、windows NT、windows 2000中他们的位置是不一样的,尤其在windows2000和wodows NT中,他们的位置随着登陆用户的不同而改变。那么我们要如何取得这些特殊目录的具体位置呢?
  当然是利用Api函数,现在我介绍两个Api函数,利用他们就可以轻松简单的获取这些特殊系统目录。
  Function SHGetSpecialFolderLocation(hwndOwner: HWND. nFolder: Integer.
  var ppidl: PItemIDList): HResult. stdcall.
  Function SHGetPathFromIDList(pidl: PItemIDList. pszPath: PChar): BOOL.stdcall.
  其中由nFolder参数指定的就是各个特殊系统目录:
  CSIDL_DESKTOP:毫无疑问这就是桌面;
  CSIDL_DRIVERS:我的电脑;
  CSIDL_FAVORITES:收藏夹;
  CSIDL_STARTUP:开始菜单;
  CSIDL_NETWORK:网上邻居;
  还有很多,你可以查阅一下Delphi的Win32 Api函数的帮助文件,不过在帮助文件下的这些参数也不是很全,像收藏夹帮助文件里面就没有,你可以查阅一下它的头文件:shlobj.pas。
  下面我就利用这两个函数取得桌面的路径(在win98和win2000下都可以使用):来源:考
  uses shlobj.
  var
  pitem:PITEMIDLIST.
  s:string.
  begin
  shGetSpecialFolderLocation(handle,CSIDL_DESKTOP,pitem).
  setlength(s,100).
  shGetPathFromIDList(pitem,pchar(s)).
  end.
  在字符串s中存储的就是桌面的路径值。简单吧!就是这么简单,但要是你不知道,你就得绕一个大圈子。

  编辑特别推荐:

  处理数据栅格的编辑框



相关文章


关于在COM中使用可选参数的研究计算机等级考试
在Delphi中如何使用RC文件中的字符串表计算机等级考试
计算机二级辅导:如何实现API钩子计算机等级考试
EXE工程和OCX工程的转化计算机等级考试
如何取得系统中的桌面的路径计算机等级考试
轻松实现DBGrid的多表头计算机等级考试
关于读写注册表二进制数据的问题计算机等级考试
在Delphi中捕获控制台程序的输出计算机等级考试
利用剪贴板实现高速导出数据到Excel计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛