У меня есть следующий код:Постоянно контролировать, если процесс запущен
Dim p() As Process
Private Sub CheckIfRunning()
p = Process.GetProcessesByName("skype") 'Process name without the .exe
If p.Count > 0 Then
' Process is running
MessageBox.Show("Yes, Skype is running")
Else
' Process is not running
MessageBox.Show("No, Skype isn't running")
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
CheckIfRunning()
End Sub
И это работает!
Но мне интересно, как я буду преобразовывать это в приложение мониторинга, чтобы постоянно проверять, запущены ли процессы. Это так же просто, как поставить таймер на таймер каждые 1 секунду, или есть лучший, более эффективный способ сделать это.
В конечном итоге я хотел бы иметь ярлык с надписью «Бег» или «Не работает» на основе процесса, но мне нужно что-то, чтобы постоянно наблюдать за процессом.
Вы можете достичь этого несколькими способами. Я лично создаю рабочий поток, который будет работать до остановки и контролирует службу. Однако вы можете использовать различные решения этой проблемы. –
Как вы относитесь к ответу @ keith ниже? Считаете ли вы, что существует ордер на то, чтобы поставить этот чек в свою собственную нить? Или задача такая крошечная, что она не стоит усилий? – level42