Vb.net 注册表路径中的通配符



我想读取位于以下位置的注册表值:

HKEY_LOCAL_MACHINESOFTWAREMyProgramPROG7.0.0Info

值名称为"信息",但键"PROG7.0.0"可能具有变量名称,如"PROG7.2.111",将路径更改为:

HKEY_LOCAL_MACHINESOFTWAREMyProgramPROG7.2.111Info

变量名称将始终采用"PROG7.xx.xxx"的形式,其中 x 是整数。此外,HKEY_LOCAL_MACHINESOFTWAREMyProgram中将始终只有一个此类名称的子项

我知道我可以使用Regestry.GetValue方法来读取注册表值,但就我而言,路径是一个变量 - 我该怎么做?

多谢!

如何在特定的注册表路径上迭代所有项

using System;
using Microsoft.Win32;
namespace RegistryLister {
    public static class Program {
        static void Main(string[] args) {
            //var key = Registry.LocalMachine.OpenSubKey(@"SOFTWAREMyProgram");
            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
             * 
             */
        }
    }
}

阅读更多 关于 注册表密钥

最新更新