Проверка запущенного процесса по PID - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Подскажите, пожалуйста, как можно проверить существование запущенного процесса по PID? Я сделал так:
            try
            {
                //label2.Text - тут записан PID проверяемого процесса
                int pid = Convert.ToInt32(label2.Text); ; // это тот PID, который, допустим, у тебя есть
                Process p = Process.GetProcessById(pid);
 
                MessageBox.Show("Процесс запущен, путь:" + p.MainModule.FileName);//Полный путь
            }
            catch
            {
                MessageBox.Show("Процесс не запущен");
            }
Работает, но думаю, что это не правильно (ведь ошибка может быть и по другой причине). Нашел пример проверки по имени:
Process[] pname = Process.GetProcessesByName("notepad");
if (pname.Length == 0)
  MessageBox.Show("nothing");
else
  MessageBox.Show("run");
А пот по PID, не могу понял как правильно сделать...

Решение задачи: «Проверка запущенного процесса по PID»

textual
Листинг программы
int pid = Convert.ToInt32(label2.Text);
Process p = new Process();
try
{
    p = Process.GetProcessById(pid);
}
catch (ArgumentException)
{
    MessageBox.Show("Процесс не запущен");
}
catch (InvalidOperationException ex)
{
    MessageBox.Show(ex.Message);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы