Наша задача в этом шаге пробежать ветвям реестра и получить все пункты. Самый простой и наверно эффективный способ использовать рекурсивные вызовы. Давайте пробовать.
using System; using Microsoft.Win32; class MainClass { public static void Main(string[] args) { RegistryKey rk = Registry.CurrentConfig; GetNext(rk); } public static void GetNext(RegistryKey rk) { foreach (string s in rk.GetSubKeyNames()) { Console.WriteLine(s); GetNext(rk.OpenSubKey(s)); } } }
Получаем пункт реестра, идем глубже, потом еще глубже и так до самого конца. Вот результат.
А вот реестр.