摘 要:以下代码使你在任何的系统文件夹中获取路径 关键字:系统 文件夹 路径 类 别:API
系统文件夹在不同的计算机上是不同的(由于不同的操作系统,用户档案,用户设定)。
以下代码可以读入当前设定:
uses ShlObj, ActiveX;
function GetSystemPath(Folder: Integer): string; var PIDL: PItemIDList; Path: LPSTR; AMalloc: IMalloc; begin Path := StrAlloc(MAX_PATH); SHGetSpecialFolderLocation(Application.Handle, Folder, PIDL); if SHGetPathFromIDList(PIDL, Path) then Result := Path; SHGetMalloc(AMalloc); AMalloc.Free(PIDL); StrDispose(Path); end;
你可以使用不同的参数调用这个函数,例如:
CSIDL_DESKTOP --- WINDOWS\Desktop CSIDL_DESKTOPDIRECTORY --- WINDOWS\Desktop CSIDL_FONTS --- WINDOWS\FONTS CSIDL_NETHOOD --- WINDOWS\NetHood CSIDL_PERSONAL --- X:\My Documents CSIDL_PROGRAMS --- WINDOWS\StartMenu\Programs CSIDL_RECENT --- WINDOWS\Recent CSIDL_SENDTO --- WINDOWS\SendTo CSIDL_STARTMENU --- WINDOWS\Start Menu CSIDL_STARTUP --- WINDOWS\Start Menu\Programs\StartUp CSIDL_TEMPLATES --- WINDOWS\ShellNew
(出处:www)
|