搜索注册表内容

实现效果:

  

知识运用:
  
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);                      //递归调用
                }
            }
        }

  

猜你喜欢

转载自www.cnblogs.com/feiyucha/p/10326077.html
今日推荐