delphi get folder path

Я работаю с 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).

Как я могу это сделать?
. Помощь приветствуется :)

9
задан Shirish11 3 January 2012 в 02:09
поделиться