列表5.17.txt

来自「klinux书籍的配套光盘。可以学习学习。」· 文本 代码 · 共 36 行

TXT
36
字号
【列表5.17】 获取一个进程的运行环境。
// ProcGetEnvironment - return a string list that contains
// the process's environment strings.
function  ProcGetEnvironment (pid: __pid_t): TStringList;
var
   buffer : array[0..16000] of char;
   length : integer;
   1st : TStringList;
   p : PChar;
begin
   length := sizeof (buffer)-1;
   length := ProcReadFile (pid, 'environ', buffer, length);
   if length = -1 then
   begin
      Result := nil;
      exit;
   end;
   // make sure there's a terminating null character
   buffer[length] := #0;
   // returned environment is a series of 0-terminated strings
   1st := TStringList.Create;
   try
      p := buffer;
      while p^ <> #0 do
begin
         lst.Add (p);
         p := StrEnd (p) + 1;
     end;
  except
     // if an exception occurs, free the list and re-raise
      lst. Free;
      raise;
   end;
   Result := lst;
end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?