delphi环境变量

@SET BDS=C:\Program Files (x86)\Embarcadero\RAD Studio\7.0
@SET BDSCOMMONDIR=C:\Users\Public\Documents\RAD Studio\7.0
@SET FrameworkDir=C:\Windows\Microsoft.NET\Framework\v2.0.50727
@SET FrameworkVersion=v2.0.50727
@SET FrameworkSDKDir=
@SET PATH=%FrameworkDir%;%FrameworkSDKDir%;%PATH%
@SET LANGDIR=E

转载于:https://www.cnblogs.com/bwdblogs/p/10966963.html

Delphi中获取系统环境变量的方法可以通过调用Windows API函数或使用Delphi内置的函数实现。以下是一些常用的方式: ### 使用 `GetEnvironmentVariable` 函数 Delphi 提供了对 Windows API 的支持,可以使用 `GetEnvironmentVariable` 函数来获取系统环境变量。 ```delphi uses Windows, SysUtils; function GetEnvVar(const VarName: string): string; var Buf: array[0..MAX_PATH] of Char; begin if GetEnvironmentVariable(PChar(VarName), Buf, SizeOf(Buf)) > 0 then Result := Buf else Result := ''; end; procedure TForm1.Button1Click(Sender: TObject); var PathVar: string; begin PathVar := GetEnvVar('PATH'); ShowMessage('PATH = ' + PathVar); end; ``` 此代码示例定义了一个函数 `GetEnvVar`,用于获取指定名称的环境变量值,并在按钮点击事件中演示如何获取 `PATH` 环境变量的值[^1]。 ### 使用 `TRegistry` 类读取注册表中的环境变量 系统环境变量通常存储在注册表的 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment` 路径下。可以使用 `TRegistry` 来访问这些信息。 ```delphi uses Registry; function GetSystemEnvVar(const VarName: string): string; var Reg: TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKeyReadOnly('\SYSTEM\CurrentControlSet\Control\Session Manager\Environment') then begin Result := Reg.ReadString(VarName); Reg.CloseKey; end; finally Reg.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var TempDir: string; begin TempDir := GetSystemEnvVar('TEMP'); ShowMessage('TEMP = ' + TempDir); end; ``` 该方法通过读取注册表来获取系统级别的环境变量,适用于需要访问全局配置的情况。 ### 获取所有环境变量 如果需要列出所有当前可用的环境变量,可以使用 `GetEnvironmentStrings` 函数: ```delphi uses Windows, SysUtils; procedure ListAllEnvVars; var Env: PChar; S: string; begin Env := GetEnvironmentStrings; try while Env^ <> #0 do begin S := StrPas(Env); Memo1.Lines.Add(S); Inc(Env, Length(S) + 1); end; finally FreeEnvironmentStrings(Env); end; end; procedure TForm1.Button1Click(Sender: TObject); begin ListAllEnvVars; end; ``` 此段代码会将所有环境变量显示在一个 `TMemo` 控件中,便于调试和查看当前进程的环境设置[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值