C#通过windows注册表获取软件清单的方法
本文实例讲述了C#通过windows注册表获取软件清单的方法。分享给大家供大家参考。具体如下:
foreach(stringSoftwareNameinObject.SoftwareList())
{
textBox.Text+=SoftwareName+Environment.NewLine;
}
////////////////////////////////////////////////////////////////////////
///<summary>
///Windows系统获取软件列表
///</summary>
///<returns>String[]softwareList</returns>
publicString[]SoftwareList()
{
String[]softwareList=null;
//动态数组
ArrayListlist=newArrayList();
try
{
//打开注册列表卸载选项
//SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
RegistryKeyKey=Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall");
if(Key!=null)//如果系统禁止访问则返回null
{
foreach(StringSubKeyNameinKey.GetSubKeyNames())
{
//打开对应的软件名称
RegistryKeySubKey=Key.OpenSubKey(SubKeyName);
if(SubKey!=null)
{
StringSoftwareName=SubKey.GetValue("DisplayName","Nothing").ToString();
//如果没有取到,则不存入动态数组
if(SoftwareName!="Nothing")
{
list.Add(SoftwareName);
}
}
}
//强制转换成字符串数组,防止被修改数据溢出
softwareList=(string[])list.ToArray(typeof(string));
}
}
catch(Exceptionerr)
{
Console.WriteLine("出错信息:"+err.ToString());
}
returnsoftwareList;
}
希望本文所述对大家的C#程序设计有所帮助。