Получаю имена нужных процессов. В label11
хранится имя процесса активного окна. Нужно сравнить каждое имя процессов с именем процесса активного окна. Но получается, что сравнивается только 1 элемент. У меня их 2, а может быть и больше.
var process = Process.GetProcessesByName(processName).FirstOrDefault();
if (process != null)
{
//Сравниваем полученные ID с ID активного окна
if (label11.Text != process.ProcessName)
{
if (timer1.Enabled == false)
{
timer1.Enabled = true;
_stopWatch.Start();
}
}
else
{
timer1.Enabled = false;
_stopWatch.Stop();
}
}
ПОПРАВКА: он сравнивает только последний элемент
Вы сами написали в своем коде:
var process = Process.GetProcessesByName(processName).FirstOrDefault();
т.е. в переменной process
хранится только 1 процесс. Если вы хотите получить все процессы с именем processName
, то вы должны сделать так:
var processes = Process.GetProcessesByName(processName);
foreach (var process in processes)
{
if (process != null)
{
//Сравниваем полученные ID с ID активного окна
if (label11.Text != process.ProcessName)
{
if (timer1.Enabled == false)
{
timer1.Enabled = true;
_stopWatch.Start();
}
}
else
{
timer1.Enabled = false;
_stopWatch.Stop();
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
День добрый! Есть форма с расположены на ней GridомКак правильнее организовать работу с одной формой и несколькими источниками List
Доброго времени сутокНеобходимо обновить Таблицу в Mysql, а вернее заменить одно значение в одной строке
Требуется подключить базу данных, чтобы была возможность пользоваться программой и с другого компьютераНужно проверять имя пользователя...