在Delphi中如何获得系统文件夹的位置?

直接使用%system%?真糟糕lp类的变量我不知道怎么用才刚开始学... 直接使用%system%?
真糟糕
lp类的变量我不知道怎么用
才刚开始学
展开
 我来答
netrice
2007-03-17 · TA获得超过192个赞
知道答主
回答量:100
采纳率:0%
帮助的人:154万
展开全部
试试这个

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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青梅半亩5384
2007-03-17 · 超过31用户采纳过TA的回答
知道答主
回答量:206
采纳率:0%
帮助的人:115万
展开全部
晕,
用GetSystemDirectory

跟楼上的一样用的啊!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式