[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]
>The GetEnvironmentVariable function retrieves the value of the specified variable from the environment block
>of the calling process. The value is in the form of a null-terminated string of characters.
>DWORD GetEnvironmentVariable(
>    LPCTSTR  lpName,        // address of environment variable name 
>    LPTSTR  lpBuffer,        // address of buffer for variable value 
>    DWORD  nSize         // size of buffer, in characters
>   );        
>Parameters
>lpName
>Points to a null-terminated string that specifies the environment variable. 
>lpBuffer
Here is a simple unit I cooked for delphi 32 bit. It will give you the whole
environment in the form of a string list. then , you can access it as usual 
env:=tenvironment.create;
a:=env.values['PATH];
env.free;
etc etc
look up the values property of tstrings for more info.
-------------------------- cut here
unit uenv;
Interface
uses windows,classes;
type tenvironment=class(tstringlist)
                   constructor create;
                  end;
implementation
constructor tenvironment.create;
 var base,p:pchar;
     a:string;
 begin
  inherited create;
  base:=GetEnvironmentStrings; <--- for 16-bits, change to GetDosEnvironment.
  if base=nil then exit;
  p:=base;
  while p^<>#0 do
   begin
    a:=p; <-- for 16-bit change this to a:=strpas(p);
    add(a);
    p:=p+length(a)+1;
   end;
  FreeEnvironmentStrings(base);
 end;
[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]