我想读取位于以下位置的注册表值:
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
*
*/
}
}
}
阅读更多 关于 注册表密钥