【发布时间】:2015-08-13 15:32:00
【问题描述】:
我有以下代码:
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 的回答有何感想?你认为有理由把这个检查放在它自己的线程中吗?还是任务如此微不足道以至于不值得付出努力?
标签: vb.net timer process monitor