在windows 7 c#上访问注册表

本文关键字:访问 注册表 windows | 更新日期: 2023-09-27 18:03:06

我正在尝试制作一个更新程序,当更新时,它会将构建号写入主程序在检查更新时读取的windows 7注册表中。我在微软的页面上浏览了UAC虚拟化知识库,但什么也没找到。我的app.manifest有

<requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

然而,当我在HKEY_Local_Machine'Software中查看构建条目不存在时,我甚至没有在HKEY_USERS'_Classes'VirtualStore'Machine'Software中看到它。

我用来进入注册表的代码是

            Registry.LocalMachine.CreateSubKey("SOFTWARE''build");
        RegistryKey myKey = Registry.LocalMachine.OpenSubKey("SOFTWARE''build", true);
        myKey.SetValue("build", "3", RegistryValueKind.String);

意见/建议吗?

在windows 7 c#上访问注册表

如果应用程序的目标是x86平台,那么在x64系统上运行时,它将使用具有以下名称的相应注册表节点:

HKEY_LOCAL_MACHINE'SOFTWARE'Wow6432Node'或HKEY_CURRENT_USER'SOFTWARE'Wow6432Node.

所以,如果你为你的构建设置平台目标为x86,在x86系统上,它将在HKEY_LOCAL_MACHINE'SOFTWARE下,而在x64系统上,它将在HKEY_LOCAL_MACHINE'SOFTWARE'Wow6432Node下,这是一个为在WOW64(Windows 32位在Windows 64位)模式下运行的应用程序保留的节点。

有关详细信息,请参阅注册表反射