在VB4.0中好像用GetModuleUsage()就可以判断,但在6.0中好像没有这个函数了,
那位知道改如何判断用shell执行的程序是否结束,是不是在6.0中也有对应的一个函数?
那位知道改如何判断用shell执行的程序是否结束,是不是在6.0中也有对应的一个函数?
解决方案 »
- 困扰很久的 数据库 image类型字段 存取文件的问题
- 谁有软件给我代理?
- vb画椭圆
- 才想起来COM+,请教啦,希望通过Internet访问总部的应用,能通过COM+实现吗?
- 向VB大虾们求助
- 求救,怎么打包注册vsflexgrid8?
- 程序运行时有什么办法可以可以托动Mshflexgrid的单元格的列宽?并且求如何打印MSHflexgrid的基本功!谢谢!!
- :)防火墙所要用到的api
- 请问怎么知道VB已经联到ACCESS啊?
- 不知道在VB里是否可以把那些OCX、DLL等的文件加入资源文件中进行调用叻??
- 请教:VB怎么样才能调用Access的报表进行打印?
- 图标文件怎样才能放在Vb程序里面呢?
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongDim pID As LongFunction StillRun(ByVal ProgramID) As Boolean
Dim lHProgram As Long
Dim lReturn As Long hProgram = OpenProcess(0, False, ProgramID)
If Not hProgram = 0 Then
StillRun = True
Else
StillRun = False
End If
CloseHandle hProgram
End FunctionPrivate Sub Form_Load()
If Dir$("c:\windows\cdplayer.exe") <> "" Then
Me.Show
pID = Shell("c:\windows\cdplayer.exe")
While StillRun(pID)
DoEvents
Wend
End
Else
MsgBox "没有找到CD播放器"
End
End If
End Sub
Shell一个应用程序并等待该程序执行完毕后继续运行:
http://www.xhstudio.net/show.asp?id=2177
顺序调用多个可执行文件:
http://www.china-askpro.com/msg1/qa21.shtml
使用Shell指令具有Wait的功能:
http://school.enet.com.cn/eschool/inforcenter/A20040324297013.html
如下:
在一般模块中:
Public Const SYNCHRONIZE = &H100000
Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long具体运用:
Dim pID As Long, pHnd As Long ' 分别声明 Process Id 及 Process Handle 变数
pID = Shell(App.Path + "\WENNER.exe", 1)
II = MsgBox(" 提示:正在运行,DOS窗口结束后按回车键 ...", 0, " 运行接地电阻计算程序")
StillRun1 = True
While StillRun1
pHnd = OpenProcess(SYNCHRONIZE, 0, pID)
If pHnd <> 0 Then
StillRun1 = True
Else
StillRun1 = False
End If
CloseHandle pHnd
Wend再次感谢