Здравствуйте,товарищи!
У меня появилось желание сделать свою панель задач.
Я выяснил,что для того,чтобы получить названия всех процессов и понять что из них сервис,а что - графическое приложение нужно использовать такой цикл :
Код
System.Diagnostics.Process[] processes;
processes = System.Diagnostics.Process.GetProcesses();
for (int i = 0; i < processes.Length; i++)
{
processes[i].Refresh();
try
{
if (processes[i].MainWindowHandle != IntPtr.Zero)
{
this.listBox1.Items.Add(processes[i].ProcessName);
}
}
catch
{
}
}
Проблема состоит в том, что в списке процессов появляются приложение с графическом интерфейсом, НО которые не должны появляться в списке приложений Диспетчера Задач(например : Steam,GameNet)
Как исправить это?
Я хочу,чтобы они не появлялись,как это и есть в диспетчере задач,вот скрин
Добавлено (17.08.2013, 20:38)
---------------------------------------------
Кажется,что я решил свою проблему.
Просто нужно выяснить параметр length у MainWindowTitle.
Если он больше 0,то программа не спрятана(работает со Steam и GameNet)
Если кого-то заинтересует,то вот код :
Код
System.Diagnostics.Process[] processes;
processes = System.Diagnostics.Process.GetProcesses();
for (int i = 0; i < processes.Length; i++)
{
processes[i].Refresh();
try
{
if (processes[i].MainWindowHandle != IntPtr.Zero)
{
if (processes[i].MainWindowTitle.Length > 0)
{
this.listBox1.Items.Add(processes[i].ProcessName);
}
}
}
catch
{
}
}