场景:
遇到两个程序互相shell 调起,导致一个程序进程没结束掉后,在调起程序就会报错“文件未找到53”错误。
老方法面向百度编程
提供 Shell "cmd/c taskkill /f /im 进程名称.exe
结果: 不行还是报错。后来想起以前做的一款程序有记录,翻出来看了下可以。
'结束进程
Shell "taskkill /f /im " & 进程名称, 0 '这个可以用
在贴下我的程序代码
Dim strAppPath As String
Dim strAppName As String
strAppName = "收款程序.exe"
strAppPath = App.Path & "\payMoney\" & strAppName
If Dir(strAppPath) = "" Then '等于空代表没有文件
msgbox "没有找到要运行文件!"
Exit Sub
Else
'检测程序存在说明程序已经运行,为了不重复运行或者不想运行两个程序 kill 它
If exitproc(strAppName) = True Then
' Shell "cmd/c taskkill /f /im " & strAppName / f
'结束进程
Shell "taskkill /f /im " & strAppName, 0
End If
'调起支付程序
ShellExecute Me.hwnd, "open", strAppPath, "", 0, 0
End If