2014-12-06 130 views
0

我想讀的是存在於註冊表值:Vb.net在註冊表路徑通配符

HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram\PROG7.0.0\Info 

值的名稱是「信息」但關鍵「PROG7.0.0 「可以具有可變的名稱,比如」 PROG7.2.111」,改變到路徑:

HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram\PROG7.2.111\Info 

變量名永遠是形式「PROG7.xx.xxx」,其中X是整數。此外,總是會有這樣的名字只有一個子鍵HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram

我知道我可以使用Regestry.GetValue方法讀取註冊表值,但在我的情況下,路徑是一個變量 - 我該如何去呢?

非常感謝!

回答

0

如何遍歷所有的鍵瞭解更多關於RegistryKey

特定的註冊表路徑

using System; 

using Microsoft.Win32; 

namespace RegistryLister { 
    public static class Program { 
     static void Main(string[] args) { 
      //var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\MyProgram\"); 
      var key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\"); 
      if (key != null) 
       foreach (var keyName in key.GetSubKeyNames()) { 
        //if (keyName.StartsWith("PROG7")) 
        if (keyName.StartsWith("Mic")) 
         Console.WriteLine(keyName); 
       } 
      Console.ReadKey(); 

      /* Outputs: 
      * 
      * Microsoft 
      * Microsoft Corporation 
      * 
      */ 
     } 
    } 
}