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

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

Вариант 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;

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: