C# Registry 32bit & 64bit 讀取方法

這個東西搞了我好幾天~過去寫Registry 的時候都沒有這個問題~最近換了64bit的系統後寫Registry 才發現到~已經被動了手腳了,想搞清楚Registry 在64bit變成什麼模樣的先看一下微軟官方的說明  如何使用 Windows 64 位元版本檢視系統登錄 ,看完以後我們不多說廢話~直接給Code來讓大家知道為什麼 HKEY_LOCAL_MACHINE\SOFTWARE 的東西跟Code執行出來的完全不同!~


String MachineName = "127.0.0.1";
RegistryKey RemoteRK;

if (Environment.Is64BitOperatingSystem)
{
 RemoteRK =
  RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, MachineName, RegistryView.Registry64).OpenSubKey(@"SOFTWARE\eAI\MMSP");
}
else
{
 RemoteRK =
    RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, MachineName, RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Wow6432Node\eAI\MMSP");           
}

foreach (var ValueName in RemoteRK.GetValueNames())
{
 Console.WriteLine(ValueName);
}


Console.Read();

留言

這個網誌中的熱門文章

delivery note和delivery order的區別和翻譯

Eclipse 3.6.1 Helios 中文化方法

牙技專業英文--技工篇