本文整理自网络,侵删。
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读取android设备联系人.Delphixe6中编译通过
Delphi 利用hook api函数openprocess与terminateprocess来防止任务管理器结束进程
Delphi 是否是闰年- isleapyear、isinleapyear
winapi 字符及字符串函数(11): lstrcpyn - 复制字符串, 同时指定要复制的长度
Delphi中操作olevariant、variant和stream
更多相关阅读请进入《Delphi》频道 >>