Delphi 获取与设置系统环境变量


本文整理自网络,侵删。

 
function GetEnvVariable(Name: string; User: Boolean = True): string;
var
  Str: array[0..255] of char;
begin
  with TRegistry.Create do
  try
    if User then
    begin
      RootKey := HKEY_CURRENT_USER;
      //OpenKey('Environment', False);
      OpenKeyReadOnly('Environment', False);
    end
    else
    begin
      RootKey := HKEY_LOCAL_MACHINE;
      //OpenKey('SYSTEM\CurrentControlSet\Control\Session ' +
      //  'Manager\Environment', False);
      OpenKeyReadOnly('SYSTEM\CurrentControlSet\Control\Session ' +
        'Manager\Environment', False);
    end;
    Result := ReadString(Name);
    ExpandEnvironmentStrings(PChar(Result), Str, 255);
    Result := Str;
  finally
    Free;
  end;
end;

procedure SetEnvVariable(Name, Value: string; User: Boolean = True);
var
  rv: DWORD;
begin
  with TRegistry.Create do
  try
    if User then
    begin
      RootKey := HKEY_CURRENT_USER;
      OpenKey('Environment', False);
      WriteString(Name, Value);
    end
    else
    begin
      RootKey := HKEY_LOCAL_MACHINE;
      OpenKey('SYSTEM\CurrentControlSet\Control\Session ' +
        'Manager\Environment', False);
    end;
    WriteString(Name, Value);
    SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, LParam
      (PChar('Environment')), SMTO_ABORTIFHUNG, 5000, rv);
  finally
    Free;
  end;
end;

相关阅读 >>

Delphi 检测链接和获取链接内容

Delphi idhttp 实战用法(tidhttpex)

Delphi读取android设备联系人.Delphixe6中编译通过

Delphi 利用hook api函数openprocess与terminateprocess来防止任务管理器结束进程

Delphi uhttp_flood

Delphi 是否是闰年- isleapyear、isinleapyear

winapi 字符及字符串函数(11): lstrcpyn - 复制字符串, 同时指定要复制的长度

Delphi中操作olevariant、variant和stream

Delphi richedit控件中插入gif动画表情

Delphi rgb 画出三角形

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...