您的位置:首页 > 编程语言 > C#

[转载]c#读写注册表

2009-02-23 16:35 351 查看
  1 using system; 

  2 using system.collections; 

  3 using system.configuration; 

  4 using system.data; 

  5 using system.web; 

  6 using system.web.security; 

  7 using system.web.ui; 

  8 using system.web.ui.htmlcontrols; 

  9 using system.web.ui.webcontrols; 

 10 using system.web.ui.webcontrols.webparts; 

 11 using microsoft.win32; 

 12 public partial class register : system.web.ui.page 

 13 { 

 14     protected void page_load(object sender, eventargs e) 

 15     { 

 16         response.write("这里是读取到的信息"+"<br/>"); 

 17         readregedit(); 

 18         response.write("<br/>"); 

 19         response.write("这里将要写入信息swort/swort-test" + "<br/>"); 

 20         writeregedit(); 

 21         response.write("写入结束" + "<br/>");  

 22         response.write("查看存在与否" + "<br/>"); 

 23         existsregedit(); 

 24         response.write("查看结束" + "<br/>"); 

 25         response.write("删除" + "<br/>"); 

 26         deleteregedit(); 

 27         response.write("删除结束" + "<br/>"); 

 28         response.write("查看存在与否" + "<br/>"); 

 29         existsregedit(); 

 30         response.write("查看结束" + "<br/>"); 

 31     } 

 32     /// <summary> 

 33     /// 注册表的读取 

 34     /// </summary> 

 35     /// <returns></returns> 

 36     public void readregedit() 

 37     { 

 38         registrykey rk = registry.currentuser; 

 39         registrykey software = rk.opensubkey("software"); 

 40         registrykey microsoft = software.opensubkey("microsoft");    

 41         registrykey windows = microsoft.opensubkey("windows"); 

 42         registrykey current = windows.opensubkey("currentversion"); 

 43         registrykey explorer = current.opensubkey("explorer"); 

 44         registrykey shell = explorer.opensubkey(@"shell folders"); 

 45         foreach (string b in shell.getvaluenames())//这里用shell.getvaluenames()不是shell.getsubkeynames() 

 46         { 

 47             response.write( b+"            "+ shell.getvalue(b).tostring()); 

 48             response.write("<br/>"); 

 49                

 50         } 

 51         

 52     

 53     } 

 54     /// <summary> 

 55     /// 注册表的写入 

 56     /// </summary> 

 57     /// <returns></returns> 

 58     public bool writeregedit() 

 59     { 

 60         try 

 61         { 

 62             registrykey rk = registry.currentuser; 

 63             registrykey software = rk.opensubkey("software"); 

 64             registrykey microsoft = software.opensubkey("microsoft"); 

 65             registrykey windows = microsoft.opensubkey("windows"); 

 66             registrykey current = windows.opensubkey("currentversion"); 

 67             registrykey explorer = current.opensubkey("explorer"); 

 68             registrykey shell = explorer.opensubkey(@"shell folders", true);//这里必须加true就是得到写入权限 

 69             registrykey key = shell.createsubkey("swort");//创建swort目录 

 70             key.setvalue("swort", "test"); 

 71             //在swort目录下建立写入swort test 

 72             response.write("写入成功!!!!!!!!!"); 

 73             return true; 

 74         } 

 75         catch 

 76         { 

 77             return false; 

 78         } 

 79          

 80     } 

 81     /// <summary> 

 82     /// 注册表的删除 

 83     /// </summary> 

 84     /// <returns></returns> 

 85     public bool deleteregedit() 

 86     { 

 87         try 

 88         { 

 89             registrykey rk = registry.currentuser; 

 90             registrykey software = rk.opensubkey("software"); 

 91             registrykey microsoft = software.opensubkey("microsoft"); 

 92             registrykey windows = microsoft.opensubkey("windows"); 

 93             registrykey current = windows.opensubkey("currentversion"); 

 94             registrykey explorer = current.opensubkey("explorer"); 

 95             registrykey shell = explorer.opensubkey(@"shell folders",true); 

 96             registrykey swort = shell.opensubkey("swort",true);//这里必须加true就是得到写入权限 

 97             swort.deletevalue("swort");//删除swort的值   这个连键值一起删除了 剩下一个 

 98             shell.deletesubkey("swort",false);//删除swort这个目录   要删除这个目录 必须具有权限 

 99             

             response.write("删除成功!!!!!!!!!"); 

             return true; 

         } 

         catch 

         { 

             return false; 

         } 

         return true; 

     } 

     /// <summary> 

     /// 查询某个键值是否存在 

     /// </summary> 

     /// <returns></returns> 

     public bool existsregedit() 

     { 

         registrykey rk = registry.currentuser; 

         registrykey software = rk.opensubkey("software"); 

         registrykey microsoft = software.opensubkey("microsoft"); 

         registrykey windows = microsoft.opensubkey("windows"); 

         registrykey current = windows.opensubkey("currentversion"); 

         registrykey explorer = current.opensubkey("explorer"); 

         registrykey shell = explorer.opensubkey(@"shell folders"); 

         if (shell.subkeycount != 0) 

         { 

             registrykey swort = shell.opensubkey("swort"); 

             foreach (string b in swort.getvaluenames()) 

             { 

                 if (b == "swort") 

                 { 

                     response.write("存在这个键!"); 

                     return true; 

                 } 

 

             } 

             response.write("不存在这个键!"); 

             return false; 

         } 

         else 

         { response.write("不存在这个键!"); 

         return false; 

         } 

     } 

 } 

 //转载:来源:http://blog.csdn.net/swort_177

 

 

kl大
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: