gpt4 book ai didi

delphi获取文件夹路径

转载 作者:行者123 更新时间:2023-12-03 14:43:19 25 4
gpt4 key购买 nike

我正在使用 Delphi 7,我想找出我的 ../All Users/Documents 目录的路径。
我遇到了以下代码

uses shlobj, ...

function GetMyDocuments: string;
var
r: Bool;
path: array[0..Max_Path] of Char;
begin
r := ShGetSpecialFolderPath(0, path, CSIDL_Personal, False) ;
if not r then
raise Exception.Create('Could not find MyDocuments folder location.') ;
Result := Path;
end;

它工作正常,但不支持返回所需路径的CSIDL_COMMON_DOCUMENTS

此外,根据 MS CSIDL不应再使用,而是使用 KNOWNFOLDERID .
我确实需要在多个操作系统(仅限 Windows)上运行这个应用程序。

我该怎么做?
感谢帮助:)

最佳答案

在我看来,调用 SHGetSpecialFolderPath 传递 CSIDL_COMMON_DOCUMENTS 没有任何问题。如果您需要支持 XP,则不能使用已知的文件夹 ID。您可以编写在 Vista 及更高版本上使用已知文件夹 ID 的代码,并在早期系统上回退到 CSIDL。但何苦呢? MS 已经通过 SHGetSpecialFolderPath 为您完成了这项工作。

关于delphi获取文件夹路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8712786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com