Вы могли бы использовать это:
System.Diagnostics.Process[] procArray;
Dictionary<string,int> applications = new Dictionary<string,int>();
procArray = System.Diagnostics.Process.GetProcesses();
for (int i = 0; i < procArray.Length; i++)
{
if (procArray[i].MainWindowTitle.Length > 0)
{
applications.Add(procArray[i].MainWindowTitle, procArray[i].Id);
}
}
foreach (KeyValuePair<string, int> app in applications)
{
comboBox.Items.Add(app.Key);
}
Этот код будет включать в себя только те процессы, которые имеют открытые окна (если вы бежите менеджеров задач на вкладке «Приложения» вы увидите эти приложения). Идентификаторы процесса могут использоваться для получения дескрипторов.
Возможный дубликат http://stackoverflow.com/questions/20470389/how-to-get-running-applications-in-windows –
Вы хотите получить все приложения, которые в настоящее время работают? – Gnqz
удалить Спасибо! Advance – Sender