我正在编写一个应用程序,需要创建一个隐藏在登录屏幕和控制面板用户小程序中的特殊用户帐户。通过将用户名为0的<code>DWORD</code>值写入下面的注册表项,我能够实现这个目标:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonSpecialAccountsUserList
问题是,在开启UAC的Windows7下,无论我尝试什么,我都无法以编程方式向上面的键写入值。
据我所知,除非您使用管理权限运行,否则在打开UAC的Windows 7上不允许向某些密钥写入。我添加了一个应用程序清单requestedExecutionLevel=“requireAdministrator”uiAccess=“false”
,当我的程序运行时,我接受UAC提示,我的帐户是Administrators的成员,但我仍然无法写入上述注册表项。
我还需要做什么?在任何应用程序配置中,如何在HKEY_LOCAL_MACHINESOFTWARE
下写入键和值?
进一步信息。。。当我的程序运行时,不会抛出任何错误,而且它似乎在写入值。我的猜测是,Windows正在虚拟化我写作的位置。如果我要隐藏这个特殊的用户帐户,我需要写到实际位置,而不是虚拟位置。