当前位置: 移动技术网 > IT编程>开发语言>c# > C#通过windows注册表获取软件清单的方法

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

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文实例讲述了c#通过windows注册表获取软件清单的方法。分享给大家供大家参考。具体如下: foreach (string softwarename in o

本文实例讲述了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#程序设计有所帮助。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网