首页 > 编程 > C# > 正文

C#通过windows注册表获取软件清单的方法

2019-10-29 21:41:08
字体:
来源:转载
供稿:网友

这篇文章主要介绍了C#通过windows注册表获取软件清单的方法,涉及C#针对注册表的访问读取与遍历操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#通过windows注册表获取软件清单的方法。分享给大家供大家参考。具体如下:

 

 
  1. foreach (string SoftwareName in Object.SoftwareList()) 
  2. textBox.Text += SoftwareName + Environment.NewLine; 
  3. //////////////////////////////////////////////////////////////////////// 
  4. /// <summary> 
  5. /// Windows系统获取软件列表 
  6. /// </summary> 
  7. /// <returns>String [] softwareList</returns> 
  8. public String [] SoftwareList() 
  9. String[] softwareList = null
  10. //动态数组 
  11. ArrayList list = new ArrayList(); 
  12. try 
  13. //打开注册列表卸载选项 
  14. //SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall 
  15. RegistryKey Key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE//Microsoft//Windows//CurrentVersion//Uninstall"); 
  16. if (Key != null)//如果系统禁止访问则返回null 
  17. foreach (String SubKeyName in Key.GetSubKeyNames()) 
  18. //打开对应的软件名称 
  19. RegistryKey SubKey = Key.OpenSubKey(SubKeyName); 
  20. if (SubKey != null
  21. String SoftwareName = SubKey.GetValue("DisplayName""Nothing").ToString(); 
  22. //如果没有取到,则不存入动态数组 
  23. if (SoftwareName != "Nothing"
  24. list.Add(SoftwareName); 
  25. //强制转换成字符串数组,防止被修改数据溢出 
  26. softwareList = (string[])list.ToArray(typeof(string)); 
  27. catch (Exception err) 
  28. Console.WriteLine("出错信息:" + err.ToString()); 
  29. return softwareList; 

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表