vb调用程序并等待其结束

您好,我看到您2012年有关VB调用外部程序并等待其结束的问题,我现在也遇到这个问题,但是我没看太明白,我是想用vb调用fluent,fluent运行后会输出六个txt文... 您好,我看到您2012年有关VB调用外部程序并等待其结束的问题,我现在也遇到这个问题,但是我没看太明白,我是想用vb调用fluent,fluent运行后会输出六个txt文本,这六个文本就放在运行的vb工程的目录下,但是我运行那段代码,vb并不会等待fluent结束呀???
希望您不吝赐教,打扰您了
展开
 我来答
让猫飞一会儿
2018-07-03 · TA获得超过1119个赞
知道小有建树答主
回答量:540
采纳率:80%
帮助的人:272万
展开全部
'实现: 等待Shell启动的程序运行结束
'输入: 由Shell语句返回的任务 ID
'说明: 1、缺省情况下,Shell是以异步方式(并行)来执行其它程序的,即用 Shell 启动的
' 程序可能还没有完成执行过程,就已经执行到 Shell 函数之后的语句。
' 本函数让用Shell启动的程序同步运行(串行)
' 2、等待该程序运行结束后才继续执行以后的语句。
'示例: Label1.Caption = "Shell Wait ......"
' ShellWait Shell("fluent.exe", vbNormalFocus)
' Label1.Caption = "Process Finished!"
' 只有你关闭了fluent以后才会运行以后的语句。
=============以下是代码==========
'等待Shell启动的程序运行结束
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Sub ShellWait(iTask As Long)
Dim ret As Long, pHandle As Long
pHandle = OpenProcess(&H100000, False, iTask): ret = WaitForSingleObject(pHandle, -1&): ret = CloseHandle(pHandle)
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式