gpt4 book ai didi

windows - RegSetValueEx 需要以管理员身份运行才能工作吗?

转载 作者:可可西里 更新时间:2023-11-01 09:40:51 25 4
gpt4 key购买 nike

我创建了一个小的 vb6 应用程序,用于编辑 HKLM 配置单元中的注册表。它利用函数 RegSetValueEx .但是当在windows 7和windows 8 pc中运行exe文件时,即使以管理员用户运行它也不会编辑注册表。

在 Windows XP 中它工作正常。如果我在 Windows 7 和 8 中运行相同的应用程序作为“以管理员身份运行”(通过右键单击 exe 然后运行)然后它正常工作。我认为 Windows 7 和 8 id 设计只能这样工作。但是有什么方法可以在不以管理员身份运行的情况下编辑它吗?或者在 vb6 中是否有任何代码可以做同样的事情。

这是我的小code

重要:检查代码时创建 exe 然后运行 ​​exe 并单击按钮(HKEY_LOCAL_MACHINE\SOFTWARE\Demo 注册表被添加到 wow32 节点中,因为 vb6 是 32 位应用程序)。通过打开代码直接运行代码允许更改注册表。但是创建 exe 然后运行它会产生问题,这是任何应用程序中的实时场景。

最佳答案

自 Windows 2000 以来,Microsoft 一直警告开发人员不要以普通用户身份访问注册表的 HKLM 分支,因为它迟早会仅限于管理员。他们还说你不应该写入 Program Files

他们直到 Windows Vista 才强制执行该规则,因此没有人觉得需要更改任何东西。

现在你知道了:不要以普通用户身份写入 HKLM - 它不起作用。不要将您的设置写入 Program Files。它不起作用。

普通用户运行的应用程序可能会将其数据写入注册表中的用户文件夹和用户配置单元,而不是其他地方。

关于windows - RegSetValueEx 需要以管理员身份运行才能工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16062343/

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