C# проверка процесса и изменение цвета этикетки - PullRequest
0 голосов
/ 06 апреля 2020

Я новичок в C#.

Я хочу изменить цвет метки в приложении формы.

Мне нужно это без кнопки или чего-то подобного.

У меня есть второе приложение. Когда запущено второе приложение, цвет метки будет зеленым. В других случаях он будет красным.

Process[] processes = Process.GetProcessesByName("myapp");

if (processes.Length > 0)
{
    label2.ForeColor = Color.Green;
}

Куда мне добавить этот код?

Есть ли инструмент для этого? Как базовая c рабочая область (из-за этого я почти работаю на стороне консоли. Я не знаю инструментов формы.)

1 Ответ

0 голосов
/ 06 апреля 2020

Вы, вероятно, поместили бы этот кусок кода в обработчик событий тикового таймера.

Ниже приведена реализация, которая проверяется при наблюдении браузера Chrome.

Обратите внимание, что вы также должен поменять метку ForeColor на что-то другое, когда исполняемый файл не запущен.

Этот код будет проверять исполняемый файл в секунду.

Надеюсь, это поможет.

public partial class Form1 : Form
{
    System.Windows.Forms.Timer watchDogTimer = new System.Windows.Forms.Timer();

    public Form1()
    {
        InitializeComponent();
        watchDogTimer.Interval = 1000;
        watchDogTimer.Tick += watchDogTimer_Tick;
        watchDogTimer.Start();
    }

    void watchDogTimer_Tick(object sender, EventArgs e)
    {
        Process[] processes = Process.GetProcessesByName("chrome");

        if (processes.Length > 0)
        {
            label2.ForeColor = Color.Green;
        }
        else
        {
            label2.ForeColor = Color.Red;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...