RegistryKey reg = Registry.LocalMachine;
reg.OpenSubKey("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager",true);
reg.DeleteSubKey("HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\pend",true);
提示该子项不存在,实际上是存在的 我手动创建的那个pend值 用来做实验的 pend是一个字符串值 期待高手解答 谢谢啦

解决方案 »

  1.   

    如果你手动创建了pend值,则程序第一次运行会把他删除。当再次运行程序就会提示不存在。如果是第一次运行提示不存在那就不清楚了。
      

  2.   

    HKEY_LOCAL_MACHINE\\  重复了reg.OpenSubKey("SYSTEM\\CurrentControlSet\\Control\\Session Manager",true);
      

  3.   

    RegistryKey Reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run",true); RegistryKey delKey = Registry.LocalMachine.OpenSubKey("Software\\test", true);
    delKey.DeleteValue("test");
    delKey.Close();
      

  4.   

    private void DeleteRegist(string name)  
    {  
       string[] aimnames;  
       RegistryKey hkml = Registry.LocalMachine;  
       RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);  
       RegistryKey aimdir = software.OpenSubKey("XXX",true);  
       aimnames = aimdir.GetSubKeyNames();  
       foreach(string aimKey in aimnames)  
       {  
         if(aimKey == name)  
         aimdir.DeleteSubKeyTree(name);  
       }  
    }