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 возвращает значения переменных среды опрашиваемого процесса. Величина также возвращается в виде строки с завершающим нулем.
- Назад
- Вперёд >>
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!