none
vb.net如何实现检测进程是否运行并自动启动? RRS feed

  • 问题

  • 假设有一个程序a.exe,如何判断这个程序是否运行,如果没有就启动它?(假设本程序和a.exe在同一目录)
    2014年4月18日 13:43

答案

全部回复

  • 可以使用Process类获取当前正在运行的所有进程(GetProcesses)然后再检查是否有a.exe,或者直接用GetProcessesByName获取a.exe的进程,如果能获得就说明程序在运行。用Process.Start就可以启动程序。

    具体请参考:

    http://msdn.microsoft.com/zh-cn/library/system.diagnostics.process(v=vs.90).aspx

    2014年4月18日 15:07
  • 可以使用Process类获取当前正在运行的所有进程(GetProcesses)然后再检查是否有a.exe,或者直接用GetProcessesByName获取a.exe的进程,如果能获得就说明程序在运行。用Process.Start就可以启动程序。

    具体请参考:

    http://msdn.microsoft.com/zh-cn/library/system.diagnostics.process(v=vs.90).aspx

    您好,能麻烦您给出具体代码吗?我写了一段代码,但会不停地重复运行a.exe

    Private Sub Timer1_Elapsed(sender As Object, e As EventArgs) Handles Timer1.Tick
            On Error Resume Next
            For Each process As Process In process.GetProcesses()
                If process.ProcessName = "a" Then
                Else
                    process.Start("a.exe")
                End If
            Next
    End Sub

    2014年4月19日 7:31
  • 应该修改成这样:

    Private Sub Timer1_Elapsed(sender As Object, e As EventArgs) Handles Timer1.Tick
            On Error Resume Next
            For Each process As Process In process.GetProcesses()
                If process.ProcessName = "a" Then           
                     Return
                End If
            Next
            Process.Start("a.exe")
    End Sub

    2014年4月19日 11:41