Contributor: MIKE CARIOTOGLOU>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;


AltStyle によって変換されたページ (->オリジナル) /