我最近换了一台W7 64位机器,并安装了VS 2010。
我的项目被设置为在任意CPU
上运行。但当我将其目标改为x86
时,我注意到我的某些注册表调用不再起作用。
我正在尝试这样读取ProductID
字段:
RegistryKey windowsNTKey = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows NT\CurrentVersion");
object productID = windowsNTKey.GetValue("ProductId");
在 x86 模式下,productID
始终为 null
,而在“任何 CPU”模式下运行时,它正常工作。这是怎么回事?