专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Delphi教程 » 系统找不到指定路径:如何取得系统中的桌面的路径 »正文

系统找不到指定路径:如何取得系统中的桌面的路径

来源: 发布时间:星期四, 2009年2月12日 浏览:142次 评论:0



我们在编写时候,经常会需要得到系统中些特殊目录,例如:桌面、收藏夹、历史文件、字体等在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:网上邻居;

       还有很多你可以查阅下DelphiWin32 Api帮助文件不过在帮助文件下这些参数也不是很全像收藏夹帮助文件里面就没有你可以查阅下它头文件:shlobj.pas

      下面我就利用这两个取得桌面路径(在win98和win2000下都可以使用):

       uses shlobj;

       var
         pitem:PITEMIDLIST;
         s:;
       begin
          shGetSpecialFolderLocation(handle,CSIDL_DESKTOP,pitem);
         length(s,100);
          shGetPathFromIDList(pitem,pchar(s));
       end;

        在串s中存储就是桌面路径值简单吧!就是这么简单但要是你不知道你就得绕个大圈子


0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: