Einzelnen Beitrag anzeigen

Dax
(Gast)

n/a Beiträge
 
#3

Re: Environment-Variablen (Username, Computername...) rausfi

  Alt 14. Mai 2006, 18:16
Luckie hat in diesem Thread noch eine Möglichkeit aufgezeigt, Umgebungsvariablen zu bekommen ohne SysUtils nutzen zu müssen:
Delphi-Quellcode:
(*
* Author  : Michael Puff - [url]http://www.michael-puff.de[/url]
* Date    : 2006-05-14
* License : PUBLIC DOMAIN
*)


function ReadEnviromentVariable(const Variable: string; var Value: string): DWORD;
var
  error : DWORD;
  Buffer : PChar;
  len : Integer;
begin
  error := 0;

  len := GetEnvironmentVariable(PChar(Variable), nil, 0);
  if len > 0 then
  begin
    try
      Buffer := GetMemory(len);
      len := GetEnvironmentVariable(PChar(Variable), Buffer, len);
      SetString(Value, Buffer, len);
    finally
      FreeMemory(Buffer);
    end;
  end
  else
    error := GetLastError;

  result := error;
end;
Verwenden kann man diese Funktion zum Beispiel so:
Delphi-Quellcode:
var
  s : string;
  error : Integer;
begin
  error := ReadEnviromentVariable('windir', s);
  if error <> 0 then
    s := SysErrorMessage(error);
  ShowMessage(s);
end;
  Mit Zitat antworten Zitat