Я использую это, чтобы получить имена программ, но мне нужны имена exe. Как их найти?Получение exe имени установленных программ в C#?
string SoftwareKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UserData\\S-1-5-18\\Products";
RegistryKey rk = default(RegistryKey);
rk = Registry.LocalMachine.OpenSubKey(SoftwareKey);
//string skname = null;
string sname = string.Empty;
foreach (string skname in rk.GetSubKeyNames())
{
try
{
sname = Registry.LocalMachine.OpenSubKey(SoftwareKey).OpenSubKey(skname).OpenSubKey("InstallProperties").GetValue("DisplayName").ToString();
listBox1.Items.Add(sname);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Я пытаюсь сделать это:
System.Diagnostics.Process.Start("Name.exe");
запустить программу.
Ответ найден здесь ... [http://stackoverflow.com/questions/8954461/c-sharp-application-scanning] [1] [1]: HTTP: // StackOverflow .com/questions/8954461/c-sharp-application-scan –
В приведенном выше вопросе было предложено найти и отобразить все установленные приложения. Чтобы найти все exe, единственный способ сделать это - сделать рекурсивный поиск в корневом каталоге для '* .exe' –