There is a function
GetCustomDir(..)
Which takes an CSIDL Integer as argument.
Is there an alternative that might use GUID strings for special ShellFolders (Windows only) or, alternatively the GUID are represented as Int Arrays as are defined in BRL.Volumes.mod/vol_win.bmx
Global _FOLDERID_*
But there exists no converstion to "friendly" CSIDL Integer constant in that file for the required directory (notably, It has no CSIDL here
https://docs.microsoft.com/en-gb/windows/win32/shell/knownfolderid?redirectedfrom=MSDN)
Since Windows users of other languages will have differently named folders, I cannot force a relative path from the "UserProfile" either.
One alternative may be to use a separate Extern to grab registry entries and retrieve the full path from
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
However, this registry key is typically a legacy feature, so may not be reliable in future.
Does anyone have a workaround to obtain the full real path for a particulalr Known ShellFolder which does not have a 'friendly' CSIDL, but does have an Int Array _FOLDERID_* listed in "vol_win.bmx" ?