可以使用while循环查看是否结束
Private Function MyShell(ByVal cmd As String, Optional AppStyle As VbAppWinStyle = vbNormalFocus)
Dim RetVal As Long
RetVal = Shell(cmd, AppStyle)
Do While IsRunning(RetVal)
DoEvents
Loop
'执行完毕
End Function
调用!!!
MyShell "c:\1.exe", vbHide
兄弟,你的nastran是完成后是否会自动结束自己的?如是的话就用判断进程法。
如不是,就用判断文件法,即判断w.bdf是否已经被改动。
然后设一个超时判断就ok啦。
你不是运行结束有文本文件输出吗?调用外部文件后,一直就检测文本文件有没有生成,有的话再下一步,没有的话延时再判断,一直到有文件生成!
可以使用子进程的方式。《windows核心编程》中4.4节就提到了这个方法,你可以参考一下。
判断进程是否存在,存在的话结束进程就可以了