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();
留言
張貼留言