通常大家研究下帮助,发现了SetEnvironmentVariable函数,调试了半天程序却发现它不是你要的结果,因为这个破函数改的环境变量只在这个进程中适用,过期作废!
于是有人又研究了BOOL   SetEnvVariable(LPSTR   szName,   LPSTR   szValue,   CMO   cmo); 还把帮助贴了上去,可是,程序USE啥玩意能编译过去?
解决的办法,研究下注册表吧。微软早就放弃了WIN.INI,这些咚咚都改到注册表中了。uses
...........
   Registry,
.......var
reg                     : TRegistry;
........reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE; 
if not reg.OpenKey( 'System\CurrentControlSet\Control\' +
                    'Session Manager\Environment', False ) then
begin
xxxxxxxxxx
end;
//如果只对当前用户适用就改成HKEY_CURRENT_USER\Environment
reg.WriteString( '你想填的环境变量名称','环境变量内容' );
reg.CloseKey;
reg.Free;全局立刻生效的环境变量就改好了。
至于怎么修改/删除,就是注册表的内容了。最后对某些误导别人的家伙表示不满,“你不懂别瞎掰!”。