实现效果:
知识运用:
RegistryKey类的OpenSubKey GetValueNames GetSubKeyNames 方法
实现代码:
private void button1_Click(object sender, EventArgs e) { RegistryKey rKey = Registry.LocalMachine.OpenSubKey("SOFTWARE"); Search(rKey,textBox1.Text); } /// <summary> /// 实现搜索指定子键下的所有键值对 /// </summary> /// <param name="rkMain">要搜索的主键</param> /// <param name="con">主键下的指定子键</param> private void Search(RegistryKey rkMain,string con) { string[] subKeyNames; //存放子项 string[] subValueNmaes; //存放键值对 RegistryKey rk = rkMain.OpenSubKey(con); if (rk != null) //如果操作成功 { subValueNmaes = rk.GetValueNames(); foreach(string s in subValueNmaes) //遍历数组 { if(s!="") listBox1.Items.Add(s); //添加至列表框 } subKeyNames = rk.GetSubKeyNames(); foreach (string st in subKeyNames) //遍历子项 { Search(rk,st); //递归调用 } } }