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

 更新时间:2015年07月15日 15:11:29   作者:抢小孩糖吃  
这篇文章主要介绍了C#通过windows注册表获取软件清单的方法,涉及C#针对注册表的访问读取与遍历操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

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

foreach (string SoftwareName in Object.SoftwareList())
{
  textBox.Text += SoftwareName + Environment.NewLine;
}
////////////////////////////////////////////////////////////////////////
/// <summary>
/// Windows系统获取软件列表
/// </summary>
/// <returns>String [] softwareList</returns>
public String [] SoftwareList()
{
 String[] softwareList = null;
 //动态数组
 ArrayList list = new ArrayList();
 try
 {
  //打开注册列表卸载选项
  //SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
  RegistryKey Key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall");
  if (Key != null)//如果系统禁止访问则返回null
  {
   foreach (String SubKeyName in Key.GetSubKeyNames())
   {
    //打开对应的软件名称
    RegistryKey SubKey = Key.OpenSubKey(SubKeyName);
    if (SubKey != null)
    {
     String SoftwareName = SubKey.GetValue("DisplayName", "Nothing").ToString();
     //如果没有取到,则不存入动态数组
     if (SoftwareName != "Nothing")
     {
      list.Add(SoftwareName);
     }
    }
   }
   //强制转换成字符串数组,防止被修改数据溢出
   softwareList = (string[])list.ToArray(typeof(string));
  }
 }
 catch (Exception err)
 {
  Console.WriteLine("出错信息:" + err.ToString());
 }
 return softwareList;
}

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

相关文章

  • Unity UGUI实现卡片椭圆方向滚动

    Unity UGUI实现卡片椭圆方向滚动

    这篇文章主要为大家详细介绍了UGUI实现卡片椭圆方向滚动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • C# 设计模式系列教程-适配器模式

    C# 设计模式系列教程-适配器模式

    通过适配器,客户端可以调用同一接口,因而对客户端来说是透明的。这样做更简单、更直接、更紧凑。
    2016-06-06
  • Unity3D中脚本的执行顺序和编译顺序

    Unity3D中脚本的执行顺序和编译顺序

    在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行。与脚本有关的也就是编译和执行啦,本文就来研究一下Unity中脚本的编译和执行顺序的问题。
    2014-11-11
  • C#中如何将MongoDB->RunCommand结果映射到业务类的方法总结

    C#中如何将MongoDB->RunCommand结果映射到业务类的方法总结

    这篇文章主要给大家总结介绍了关于C#中如何将MongoDB->RunCommand结果映射到业务类的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2018-04-04
  • C#简单实现IOC容器的示例代码

    C#简单实现IOC容器的示例代码

    IoC 的原理是通过将对象的创建和依赖关系的管理交给外部容器来实现,从而降低了代码的耦合度,提高了代码的可维护性和可测试性,下面我们就来看看如何通过C#实现一个IOC容器吧
    2024-02-02
  • 关于WPF异步MVVM等待窗体的介绍

    关于WPF异步MVVM等待窗体的介绍

    本篇文章小编将为大家介绍,关于WPF异步MVVM等待窗体的介绍,需要的朋友参考下
    2013-04-04
  • linq语法基础使用示例

    linq语法基础使用示例

    LINQ语言集成查询(Language Integrated Query),是在.NET Framework 3.5 中出现的技术,借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据,下面学习一下他的使用方法
    2014-01-01
  • 关于C#中使用Oracle存储过程返回结果集的问题

    关于C#中使用Oracle存储过程返回结果集的问题

    Oracle中可以使用游标(Cursor)对数据集进行操作,但在存储过程输出参数中直接使用Cursor错误,下面小编给大家带来了C#中使用Oracle存储过程返回结果集的问题,感兴趣的朋友一起看看吧
    2021-10-10
  • .net C# 实现任意List的笛卡尔乘积算法代码

    .net C# 实现任意List的笛卡尔乘积算法代码

    笛卡尔(Descartes)乘积又叫直积。假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}。
    2013-05-05
  • 服务器端C#实现的CSS解析器

    服务器端C#实现的CSS解析器

    服务器端C#实现的CSS解析器
    2008-09-09

最新评论