64位操作系统注册表与C#对注册表操作

来源:互联网 发布:python中str和string 编辑:程序博客网 时间:2024/05/18 23:55

    64windows中包含了32位的和64位的两套系统程序,分别位于C:\Program Files (x86)C:\Program Files中。IEMediaPlayer等都有32位和64位两个版本的。64位的操作系统中,32程序和64位程序读取的是位置的注册表项,HKEY_LOCAL_MACHINE\Software 64 位版本的注册表编辑器中对应的是64位程序的注册表项,而32位注册表项被映射为HKEY_LOCAL_MACHINE\Software\WOW6432Node。如果要两个版本都生效的话,需要同时修改这两个地方的表项。

    C#对注册表操作的时候也得注意,读取方法一般用:RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);(这里是系统自动启动项为例)。在项目->属性->生成页面中中有一个目标平台的选项,这里如果选择Any CPU,上面的key值包含64位和32位两个注册表项的取值,如果该选项选择的是X86则key值只包含32位注册表对应的取值。在对注册表更新操作中也是如此,例如添加一个注册表项,如果选择的是X86则只添加到32注册表对应项下。