C#通过windows注册表获取软件清单的方法
程序员文章站
2023-12-10 19:52:04
本文实例讲述了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#程序设计有所帮助。