c#获取安装的软件和路径,注册表

获取安装软件和路径,通过注册表得到。实例代码:

 using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall", false))
            {
                if (key != null)//判断对象存在
                {
                    foreach (string keyName in key.GetSubKeyNames())//遍历子项名称的字符串数组
                    {
                        using (RegistryKey key2 = key.OpenSubKey(keyName, false))//遍历子项节点
                        {
                            if (key2 != null)
                            {
                                string softwareName = key2.GetValue("DisplayName", "").ToString();//获取软件名
                                string installLocation = key2.GetValue("InstallLocation", "").ToString();//获取安装路径
                                if (!string.IsNullOrEmpty(installLocation))
                                {
                                    //将信息添加到ListView控件中
                                    ListViewItem item = new ListViewItem(softwareName);
                                    item.SubItems.Add(installLocation);
                                    listView1.Items.Add(item);
                                }
                            }
                        }
                    }
                }
            }

        }