delphi知识收集 我个人的小小收集

源代码在线查看: 如何取得系统中的桌面的路径.txt

软件大小: 121 K
上传用户: A15117704533
关键词: delphi
下载地址: 免注册下载 普通下载 VIP

相关代码

				如何取得系统中的桌面的路径 
				--------------------------------------------------------------------------------
				作者:不详  来源于:不详  发布时间:2005-3-16 20:57:23 
				我们在编写程序的时候,经常会需要得到系统中的一些特殊目录,例如:桌面、收藏夹、历史文件、字体等。在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中存储的就是桌面的路径值。简单吧!就是这么简单,但要是你不知道,你就得绕一个大圈子。
				
				 
							

相关资源