I have a KNOWNFOLDERID
and I would like to know the corresponding path like C:....\folder.
KNOWNFOLDERID
can be found here.
http://msdn.microsoft.com/en-us/library/bb762584%28VS.85%29.aspx
I d like to use win api (I don't want to build an array with all KNOWNFOLDERID and paths).
Thanks
Simply call the SHGetKnownFolderPath
API function.
Since this function was added in Vista, it won't be declared in the library units that shipped with Delphi 7. So you'd need to declare it yourself.
type
KNOWNFOLDERID = TGuid;
function SHGetKnownFolderPath(
const rfid: KNOWNFOLDERID;
dwFlags: DWORD;
hToken: THandle;
out ppszPath: PWideChar
): HResult; stdcall; external 'Shell32.dll';
Now, since this function was added in Vista, attempts to call it on XP will lead to failures. So, I would recommend dealing with this by using CSIDL functions rather than the Vista known folder APIs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With