Title: How to get DOS Environment Variables
Question: How to get environment variables like PATH and PROMPT.
Answer:
This is a simple function that uses the GetEnvironmentVariable API function.
GetEnvironmentVariable return values:
- If the function succeeds, the return value is the number
of characters stored into the buffer pointer, not including
the terminating null character.
- If the specified environment variable name was not
found in the environment block for the current process,
the return value is zero.
- If the buffer pointer to is not large enough, the
return value is the buffer size required to hold the
value string and its terminating null character.
function GetDOSEnvVar(const VarName: string): string;
var
i: integer;
begin
Result := '';
try
i := GetEnvironmentVariable(PChar(VarName), nil, 0);
if i 0 then
begin
SetLength(Result, i);
GetEnvironmentVariable(Pchar(VarName), PChar(Result), i);
end;
except
Result := '';
end;
end;