加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 10:06:40 所属栏目:大数据 来源:网络整理
导读:我有几个用Delphi编写的长期应用程序,它们在注册表中保留了它们的设置.我已经将HKEY_LOCAL_MACHINE用于“硬”设置(如配置首选项)和HKEY_CURRENT_USER用于“软”信息,例如窗口位置,MRU列表等. 现在我的用户告诉我,在非管理员(标准用户)模式下,应用程序不起作
我有几个用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();这也有助于非管理员访问注册表区域.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读