是否可以从应用程序写入Win 7中的HKLM注册表分支?
我的现有代码无法写入Win 7计算机上的HKLM注册表分支,而 能够在XP计算机上执行此操作。
如何在Win 7上允许应用程序对HKLM进行读/写访问,或者现在所有应用程序是否只使用HKCU?如果我需要以机器为基础而不是以用户为基础存储设置,该怎么办?
答案 0 :(得分:4)
您需要决定是否正在编写管理应用程序,故意更改所有用户(通过写入HKLM)或普通应用程序的设置。如果您真的在编写管理应用程序,那么在其上放置一个requestedExecutionLevel
requireAdministrator
的清单。用户每次运行应用程序时都会收到UAC提示,但您对HKLM的写入将成功。或者,更改应用程序以写入HKCU或其他每个用户商店。
(不知道如何添加清单?告诉我你正在使用哪种语言/ IDE,我会尽力帮助。)
依靠虚拟化是一个坏主意。实现它是为了让未经证实的应用程序至少有点工作。有一天它会消失,而它就在这里并不是很好。
答案 1 :(得分:0)
Win 7使用Registry Virtualization
阅读文章并查看(HKEY_USERS\<User SID>_Classes\VirtualStore\Machine\Software)
。