EDITO:Gracias a roman acabo de darme cuenta de que en delphi ya existe una función que hace lo mismo, y curiosamente se llama también GetEnvironmentVariable. Así que la siguiente función ya no tiene mucho sentido ...
Código Delphi
[-]
function GetEnvVar(Nombre: string): string;
var
Str: PChar;
Len: Integer;
begin
Len:= GetEnvironmentVariable(PChar(Nombre),nil,0);
if Len > 0 then
begin
GetMem(Str,Len+1);
try
GetEnvironmentVariable(PChar(Nombre),Str,Len);
Result:= String(Str);
finally
FreeMem(Str);
end;
end else Result:= EmptyStr;
end;
ShowMessage(GetEnvVar('USERNAME'));
Algunas variables interesantes:
Código:
ALLUSERSPROFILE
APPDATA
COMPUTERNAME
ComSpec
HOMEDRIVE
HOMEPATH
ProgramFiles
SystemDrive
SystemRoot
TEMP
TMP
USERDOMAIN
USERNAME
USERPROFILE
windir