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#程序设计有所帮助。