Как получить абсолютный путь от пути с переменными системного пути?

StackOverflow https://stackoverflow.com/questions/2833021

  •  26-09-2019
  •  | 
  •  

Вопрос

Есть ли простой способ перевести путь с переменными системного пути к абсолютному пути?

Так %ProgramFiles%\Internet Explorer\hmmapi.dll становится C:\Program Files\Internet Explorer\hmmapi.dll

Мне нравится знать, есть ли вызов API, который может сделать это, или я должен сделать это жестким способом и обнаруживать% ..% Последовательности и замените их соответствующей переменной среды?

Это было полезно?

Решение

Вы можете использовать функцию WinAPI ExpandEnvironmentStrings:

function ExpandEnvStr(const szInput: string): string;
  const
    MAXSIZE = 32768;
  begin
    SetLength(Result,MAXSIZE);
    SetLength(Result,ExpandEnvironmentStrings(pchar(szInput),
      @Result[1],length(Result)) - 1);
  end;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top