Содержание материала

 

Code:

procedure GetEnvironmentStrings(ss: TStrings);

{Переменные среды}

var

ptr: PChar;

s: string;

Done: boolean;

begin

ss.Clear;

s := '';

Done := FALSE;

ptr := windows.GetEnvironmentStrings;

while Done = false do begin

   if ptr^ = #0 then begin

     inc(ptr);

     if ptr^ = #0 then Done := TRUE

     else ss.Add(s);

     s := ptr^;

   end else s := s + ptr^;

   inc(ptr);

end;

end;

 

Code:

procedure TForm1.Button5Click(Sender: TObject);

var

p: pChar;

begin

Memo1.Lines.Clear;

Memo1.WordWrap := false;

{$IFDEF WIN32}

p := GetEnvironmentStrings;

{$ELSE}

p := GetDOSEnvironment;

{$ENDIF}

while p^ <> #0 do begin

   Memo1.Lines.Add(StrPas(p));

   inc(p, lStrLen(p) + 1);

end;

{$IFDEF WIN32}

FreeEnvironmentStrings(p);

{$ENDIF}

end;

 

 

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

 

Функция GetEnvironmentVariable возвращает значения переменных среды опрашиваемого процесса. Величина также возвращается в виде строки с завершающим нулем.

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить