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




Хакер идет по улице, в руках держит BFG 9000. Навстречу ему братки крутые:
- Ты где такую феню взял, в натуре?!
А он лениво так:
- Да из Дума, Дебаггером дернул...

Для этого используется 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;





Похожие по теме исходники

GDI Path Text

Find Path on Graph

fwVistaPathEedit

Registry Auto Path

 

Progressive Path Tracing