VB 如何检测一个程序是否在运行中?
如我E盘有个程序为:A.exe那我如何去检测这个程序现在是否在运行中?还有如果这个A.exe是VB写的,我如何向他发送一些指定的指令如:自动重起,关闭等信息?本人想做一个...
如我E盘有个程序为:A.exe
那我如何去检测这个程序现在是否在运行中?
还有如果这个A.exe是VB写的,我如何向他发送一些指定的指令
如:自动重起,关闭等信息?
本人想做一个程序监控,防止程序自动出错导致退出。
如果这相,那就不需要监控程序了。人是会偷懒的,程序是不会的,所以要写一个程序来监控,如果退出了,则让他自动启动继续工作! 展开
那我如何去检测这个程序现在是否在运行中?
还有如果这个A.exe是VB写的,我如何向他发送一些指定的指令
如:自动重起,关闭等信息?
本人想做一个程序监控,防止程序自动出错导致退出。
如果这相,那就不需要监控程序了。人是会偷懒的,程序是不会的,所以要写一个程序来监控,如果退出了,则让他自动启动继续工作! 展开
3个回答
展开全部
看是否运行:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Command5_Click()
Dim lHwnd As Long
lHwnd = FindWindow(vbNullString, "程序的Title或Caption")
If lHwnd <> 0 Then
MsgBox "程序正在运行!"
End If
End Sub
向它发送指令:
AppActivate "程序的Title或Caption"
SendKeys "指令"
要启动程序:
Call Shell("完整路径和程序名称.exe")
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Command5_Click()
Dim lHwnd As Long
lHwnd = FindWindow(vbNullString, "程序的Title或Caption")
If lHwnd <> 0 Then
MsgBox "程序正在运行!"
End If
End Sub
向它发送指令:
AppActivate "程序的Title或Caption"
SendKeys "指令"
要启动程序:
Call Shell("完整路径和程序名称.exe")
展开全部
用Timer定时检测进程中是否有这个程序
Private Sub Timer1_Timer()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'A.EXE'")
For Each objProcess In colProcessList
If objProcess.ExecutablePath = "E:\A.EXE" Then
Exit Sub
End If
Next
Shell "E:\A.EXE"
End Sub
Private Sub Timer1_Timer()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'A.EXE'")
For Each objProcess In colProcessList
If objProcess.ExecutablePath = "E:\A.EXE" Then
Exit Sub
End If
Next
Shell "E:\A.EXE"
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
告诉你一个最简单的方法就是直接打开windows任务管理器,看这个程序是否在你的进程里面,看是否在应用程序栏任务下面有显示,并且状态是否显示正在运行。
个人意见仅供参考,希望对您有帮助!
个人意见仅供参考,希望对您有帮助!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询