如何获知某个进程未响应,并将其kill后重新启动该程序???

zhw2ll 2006-01-20 10:35:02
如何判断某个进程状态是“未响应”,并得到其进程ID且将其kill后重新启动该程序???

请高手给个解决办法啊?

在线等....
...全文
187 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloMac 2006-01-20
  • 打赏
  • 举报
回复
添加引用:System.ServiceProcess
Imports System.Environment
helloMac 2006-01-20
  • 打赏
  • 举报
回复
这是得到进程,打开和关闭进程的.
Public Function CheckAlive(ByVal proName As String) As Boolean
Dim temProc As Process
CheckAlive = True
processes = Process.GetProcessesByName(proName)
For i As Int16 = 0 To processes.Length
If processes(0).Responding Then

End If
Next
If processes.Length = 0 Then
Return False
End If

End Function
打开进程
Public Overloads Sub LaunchProc(ByVal docPath As String)
Dim myProcess As New Process
Try
myDocPath = docPath
myProcess.StartInfo.FileName = myDocPath
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal
myProcess.Start()
myProcess.WaitForInputIdle()
Catch ex As Exception
Throw New Exception("The file doesn't exist.")
End Try
End Sub

关闭进程
Public Overloads Sub CloseProcess(ByVal proID As Integer)
Dim tempProc As Process
Try
tempProc = Process.GetProcessById(proID)
tempProc.CloseMainWindow()
tempProc.WaitForExit()
Catch ex As System.NullReferenceException
Throw New Exception("No instances of " & proID & " running.")
End Try
End Sub
myderek 2006-01-20
  • 打赏
  • 举报
回复
用process.Responding
youlinga 2006-01-20
  • 打赏
  • 举报
回复
有点复杂

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧