【发布时间】:2014-06-18 03:03:38
【问题描述】:
我想在一个字符串中获取系统中已安装程序的列表,并在另一个字符串中获取它们的相应路径,以便当我单击列表框中的名称时,该程序应该被执行。这是我尝试过的代码,但它似乎只给出了程序的名称而不是程序的位置。
string registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using(Microsoft.Win32.RegistryKey key = Registry.LocalMachine.OpenSubKey(registry_key))
{
foreach(string subkey_name in key.GetSubKeyNames())
{
using(RegistryKey subkey = key.OpenSubKey(subkey_name))
{
Console.WriteLine(subkey.GetValue("DisplayName"));
}
}
}
【问题讨论】:
-
有 900 亿次重复;一个月或更多次会被问到这个问题。请使用搜索功能。请注意,这是一个鲁莽的尝试。让应用程序管理自己的卸载程序,除非您正在编写操作系统。