gpt4 book ai didi

c# - 无法写入 HKEY_LOCAL_MACHINE\Software 下的注册表

转载 作者:太空狗 更新时间:2023-10-29 20:01:57 40 4
gpt4 key购买 nike

我正在编写一个应用程序,它需要创建一个从登录屏幕和控制面板用户小程序中隐藏的特殊用户帐户。通过将用户名的 DWORD 值写入下面的注册表项,我能够实现此目标:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList

问题是在启用了 UAC 的 Windows 7 下,无论我尝试什么,我都无法以编程方式将值写入上面的键。

据我了解,在启用了 UAC 的 Windows 7 上,写入某些键是不允许的,除非您以管理权限运行。我添加了一个应用程序 list requestedExecutionLevel level="requireAdministrator"uiAccess="false",我在程序运行时接受了UAC提示,我的帐户是Administrators的成员,但我仍然无法写入上述注册表项。

我还需要做什么?在任何应用程序配置中,如何在 HKEY_LOCAL_MACHINE\SOFTWARE 下写入键和值?

更多信息...当我的程序运行时,没有抛出任何错误并且它似乎写入了值。我的猜测是 Windows 正在虚拟化我正在写入的位置。如果我要隐藏这个特殊用户帐户,我需要写到实际位置,而不是虚拟位置。

最佳答案

可能该程序在 64 位操作系统上作为 32 位程序运行?在这种情况下,我建议您搜索在 HKEY_LOCAL_MACHINE\SOFTWAREWow6432Node 子项下创建的值。

您可以阅读有关此类虚拟化的更多信息 here .您可以使用 KEY_WOW64_32KEY flag在一些 API 中能够在没有虚拟化的情况下使用完整的注册表。

关于c# - 无法写入 HKEY_LOCAL_MACHINE\Software 下的注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4950371/

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