swhrc(锄大哥)既然你看懂了为什么不说说啊。看看清楚我是要把键值返回,又不是读写!

解决方案 »

  1.   

    RegistryKey regRead=Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
    /*如果需要项的写访问权限,真第二个参数则设置为true,如果只是读取 
    第二个参数为false,或者不要第二个参数
    RegistryKey regRead=Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true);
    */string[] subKeyNames = regRead.GetSubKeyNames();//*得到当前项下所有子项名称字符串数组
    string[] nowValueNames = regRead.GetValueNames();//*得到当前项名称字符串数组
    string[] nowValue =string[nowValueNames.Length];//*用来保存当前项的键名称
    for(int i=0;i< subKeyNames.Length;i++)
    {
         nowValue[i] = regRead.GetValue(subKeyNames[i]);//*循环读取当前项的键值
    }
    regRead.Close();
    ListBox1.Items.AddRange(subKeyNames);//列举当前项下所有子项名称
    ListBox2.Items.AddRange(nowValueNames);//列举当前项下的所有键名称
    ListBox3.Items.AddRange(nowValue[i]);//列举当前子项下的所有键值可以用递归列举当前项下所有子项的名称和各个字项所有的键名称和键值