Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как получить переменные окружения типа PATH и PROMPT?

01.01.2007

Вариант 1:

Для этого используется API функция GetEnvironmentVariable.

GetEnvironmentVariable возвращает значения:

- В случае удачного выполнения функции, возвращаемое значение содержит количество символов, хранящихся в буфере, не включая последнего нулевого.

- Если указанная переменная окружения для текущего процесса не найдена, то возвращаемое значение равно нулю.

- Если буфер не достаточного размера, то возвращаемое значение равно требуемому размеру для хранения строки значения и завершающего нулевого символа.

function GetDOSEnvVar(const VarName: string): string; 
var 
  i: integer; 
begin 
  Result := ''; 
  try 
    i := GetEnvironmentVariable(PChar(VarName), nil, 0); 
 
    if i > 0 then 
      begin 
        SetLength(Result, i); 
        GetEnvironmentVariable(Pchar(VarName), PChar(Result), i); 
      end; 
  except 
    Result := ''; 
  end; 
end; 

Вариант 2:

procedure TMainFrm.AddVarsToMemo(Sender: TObject); 
var 
  p : pChar; 
begin 
  Memo1.Lines.Clear; 
  Memo1.WordWrap := false; 
  p := GetEnvironmentStrings; 
  while p^ <> #0 do begin 
    Memo1.Lines.Add(StrPas(p)); 
    inc(p, lStrLen(p) + 1); 
  end; 
FreeEnvironmentStrings(p); 
end; 

Взято из https://forum.sources.ru