delphi 选择目录
2021-01-03 06:27
标签:inf clu 字符串 down efi max fun 显示 nil delphi 选择目录 标签:inf clu 字符串 down efi max fun 显示 nil 原文地址:https://www.cnblogs.com/yclizq/p/13212073.htmlfunction selectdir: string; //如果取消取返回为空,否则返回选中的路径
var
Info: TBrowseInfo;
IDList: pItemIDList;
Buffer: PChar;
begin
result := ‘‘;
Buffer := StrAlloc(MAX_PATH);
with Info do
begin
hwndOwner := GetActiveWindow; //少了这句,浏览目录选择框不会跳出来的
pidlRoot := nil; //起始位置,缺省为我的电脑
pszDisplayName := Buffer; //用于存放选择目录的指针
lpszTitle := ‘请选择路径:‘; //对话框提示信息
ulFlags := BIF_RETURNONLYFSDIRS or BIF_BROWSEINCLUDEFILES;
//选择参数,此处表示显示目录和文件,如果只显示目录则将后一个去掉即可
lpfn := nil; //指定回调函数指针
lParam := 0; //传递给回调函数参数
IDList := SHBrowseForFolder(Info); //读取目录信息
end;
if IDList nil then
begin
SHGetPathFromIDList(IDList, Buffer); //将目录信息转化为路径字符串
result := strpas(Buffer);
end;
StrDispose(buffer);
end;