2015-09-08 1 views
0

Я пытаюсь создать базовый макрорекордер, который будет работать на любом открытом приложении. Поэтому я должен указать приложение, над которым будет работать моя программа.C# Распознавание открытых приложений на Combobox

Как я могу распознавать и выбирать открытые приложения на инструменте combobox визуальной студии?

+0

Возможный дубликат http://stackoverflow.com/questions/20470389/how-to-get-running-applications-in-windows –

+0

Вы хотите получить все приложения, которые в настоящее время работают? – Gnqz

+0

удалить Спасибо! Advance – Sender

ответ

0

Вы могли бы использовать это:

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); 
} 

Этот код будет включать в себя только те процессы, которые имеют открытые окна (если вы бежите менеджеров задач на вкладке «Приложения» вы увидите эти приложения). Идентификаторы процесса могут использоваться для получения дескрипторов.

+0

Спасибо, сэр. Это именно то, что я ищу и прекрасно работаю. ^^ – Kutay

Смежные вопросы