好的,我正在使用此代码来获取用户计算机上的所有已安装程序。
string uninstallKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(uninstallKey))
{
foreach (string skName in rk.GetSubKeyNames())
{
using (RegistryKey sk = rk.OpenSubKey(skName))
{
try
{
listBox1.Items.Add(sk.GetValue("DisplayName"));
}
catch
{
MessageBox.Show("Error", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
所有程序都列在列表框中。我如何获得该程序的“programName”.exe。像计算器是calc.exe(我想要计算,但不是.exe)我该怎么做?
我这样做,所以我可以说:
System.Diagnostics.Process.Start(exeName);
答案 0 :(得分:0)
你可以使用TrimEnd
listBox1.Items.Add(sk.GetValue("DisplayName").ToString().TrimEnd(".exe".ToCharArray()));
编辑:
要从System.Diagnostic.Process.Start
启动某个程序,您无需修剪“.exe”,您可以将其保留为原样,并且可以执行