gpt4 book ai didi

delphi - 非管理模式下的注册表访问

转载 作者:行者123 更新时间:2023-12-03 15:02:55 25 4
gpt4 key购买 nike

我有几个用 Delphi 编写的长期应用程序,它们将其设置保留在注册表中。我使用 HKEY_LOCAL_MACHINE 进行“硬”设置(例如配置首选项),使用 HKEY_CURRENT_USER 进行“软”信息(例如窗口位置、MRU 列表等)。

现在我的用户告诉我,在非管理员(标准用户)模式下,应用程序无法运行。我发现当应用程序处于管理模式时,我无法读取 HKEY_LOCAL_MACHINE 中的设置。

对此我有哪些选择?我对标准模式以及它如何影响对注册表的访问知之甚少。任何信息表示赞赏。

最佳答案

您可以以非管理员用户身份读取 HKLM;你只是无法写入它。

构造时使用TRegistry.Create(KEY_READ),并将RootKey设置为HKLM。

var
Reg: TRegistry;
begin
Reg := TRegistry.Create(KEY_READ)
try
Reg.RootKey := HKLM;
// Read value here
finally
Reg.Free;
end;
end;

打开特定注册表项时还可以使用TRegistry.OpenKeyReadOnly();这也有助于非管理员访问注册表区域。

关于delphi - 非管理模式下的注册表访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com