我有一个KNOWNFOLDERID,我想知道相应的路径,例如C:....\folder。
KNOWNFOLDERID可以在这里找到。
http://msdn.microsoft.com/en-us/library/bb762584%28VS.85%29.aspx

我想使用win api
(我不想用所有KNOWNFOLDERID和路径构建一个数组)。

谢谢

最佳答案

只需调用 SHGetKnownFolderPath API函数。

由于此功能是在Vista中添加的,因此不会在Delphi 7附带的库单元中声明它。因此,您需要自己声明它。

type
  KNOWNFOLDERID = TGuid;

function SHGetKnownFolderPath(
  const rfid: KNOWNFOLDERID;
  dwFlags: DWORD;
  hToken: THandle;
  out ppszPath: PWideChar
): HResult; stdcall; external 'Shell32.dll';

现在,由于此功能是在Vista中添加的,因此尝试在XP上调用它会导致失败。因此,我建议您使用CSIDL函数而不是Vista已知的文件夹API来处理此问题。

关于windows - 如何从Delphi中的已知文件夹GUID获取文件夹路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14802473/

10-10 16:55