说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何判定VB调用的一个EXE程序已经结束.

HTML文档下载 WORD文档下载 PDF文档下载
如何判定VB调用的一个EXE程序已经结束.
- noname
回答:
新建一个项目,添加命令按钮和标签各一个,加上以下代码,然后运行....
Option Explicit
' Copyright ? 1997 by Desaware Inc. All Rights Reserved
Dim DemoFile$
Private Const NORMAL_PRIORITY_CLASS = &H20 '如果进程位于前台,则基本
值是9;如果在后台,则优先值为7
Private Const INFINITE = &HFFFFFFFF
Private Const WAIT_TIMEOUT = &H102& '对象保持未发出信号的状态,
但等待超时时间已经超过

'说明∶PROCESS_INFORMATION结构由CreateProcess函数将关于新建立的进程和
'主要线索的信息写入其中成员变量
Private Type PROCESS_INFORMATION '
hProcess As Long
hThread As Long
dwProcessId As Long
dwThreadId As Long
End Type

'说明∶STARTUPINFO结构用在CreateProcess函数中指定为新进程建立的新窗口的
主要属性。这一
'一信息影响由CreateWindows函数建立的第一个窗口
Private Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Long
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type

Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As
Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal
hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CreateProcess Lib "kernel32" Alias "
CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine
As String, ByVal lpProcessAttributes As Long, ByVal lpThreadAttributes
As Long, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long,
lpEnvironment As Any, ByVal lpCurrentDirectory As String, lpStartupInfo
As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
Private Declare Function WaitForInputIdle Lib "user32" (ByVal hProcess
As Long, ByVal dwMilliseconds As Long) As Long




Private Sub command1_Click()
Dim res&
Dim sinfo As STARTUPINFO
Dim pinfo As PROCESS_INFORMATION
sinfo.cb = Len(sinfo)
sinfo.lpReserved = vbNullString
sinfo.lpDesktop = vbNullString
sinfo.lpTitle = vbNullString
sinfo.dwFlags = 0

Label1.Caption = "正在启动程序"
Label1.Refresh
' CreateProcess函数,用于创建一个新的进程
res = CreateProcess(DemoFile, vbNullString, 0, 0, True, _
NORMAL_PRIORITY_CLASS, ByVal 0&, vbNullString,
sinfo, pinfo)
If res Then
Label1.Caption = "程序正在运行"
WaitForTerm pinfo
End If
Label1.Caption = "程序已经结束"

End Sub

Private Sub WaitForTerm(pinfo As PROCESS_INFORMATION)
Dim res&
' 等待指定的进程进入空闲状态,,空闲(Idle)指的是进程准备处理
'一条消息、但目前暂时没有消息需要处理的一种状态
Call WaitForInputIdle(pinfo.hProcess, INFINITE)
' 关闭指定进程
Call CloseHandle(pinfo.hThread)
Command1.Enabled = False
Label1.Refresh
Do
'等待发出信号
res = WaitForSingleObject(pinfo.hProcess, 0)
If res <> WAIT_TIMEOUT Then '如果对象发出了信号
Exit Do
End If
DoEvents
Loop While True
Command1.Enabled = True
Call CloseHandle(pinfo.hProcess)
End Sub

Private Sub Form_Load()
DemoFile = InputBox$("请输入需要运行的程序名", , "C:\WINDOWS\notepad.
exe")
End Sub
-星泽(xing) vbxing@990.net

回答二:
例程如下:

Option Explicit

Private Declare Function OpenProcess Lib "kernel32" (ByVal
dwDesiredAccess
As Long, _
ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal
hProcess
As Long, _
lpExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As
Long)
As Long

Private Const PROCESS_QUERY_INFORMATION = &H400
Private Const STATUS_PENDING = &H103

Private Sub RunShell(cmdline As String)
Dim hProcess As Long
Dim ProcessId As Long
Dim ExitCode As Long
ProcessId = Shell(cmdline, 1)
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcessId)
Do
Call GetExitCodeProcess(hProcess, ExitCode)
DoEvents
Loop While ExitCode = STATUS_PENDING
Call CloseHandle(hProcess)
MsgBox cmdline & "已经关闭"
End Sub

Private Sub Command1_Click()
RunShell "c:\windows\notepad.exe"
End Sub

data()-JQuery API disableTab(position)-JQuery API enableTab(position)-JQuery API tabs(initial, settings)-JQuery API triggerTab(position)-JQuery API triggerTab(position)-JQuery API Tooltip(settings)-JQuery API PHP简介-PHP初学入门教程1 选择PHP的理由 -PHP初学入门教程2 从一个简单的程序来了解PHP -PHP初学入门教程3 PHP语法基础 -PHP初学入门教程4 建设一个简单的交互网站(一) -PHP初学入门教程5 建设一个简单交互的网站(二) -PHP初学入门教程6 建设一个简单交互的网站(三)密码验证 -PHP初学入门教程7 PHP文件上传 -PHP初学入门教程8 为站点添加投票功能 -PHP初学入门教程9 广告条轮播-PHP初学入门教程10 操作MySQL数据库实现简单的留言板-PHP初学入门教程11 使用PHP来操作Oracle数据库 -PHP初学入门教程12 技术杂项PHP教程结束篇 -PHP初学入门教程13 .NET中DataSet和DataReader的区别与转换 CGI技术及其开发(二)-Delphi资料 CGI技术及其开发(一)-Delphi资料 COM/DCOM中如何传递数组-Delphi资料 COM与DCOM的区别与联系-Delphi资料 Cookie的建立使用-Delphi资料 Delphi 3中Cookie的建立使用 Delphi 中 串 行 通 信 的 实 现 Delphi4.0 开发WEBMAIL程序 Delphi4的Winsocket编程 Delphi4开发WEBMAIL程序 帮帮忙!! 我海军一艘潜艇失事 70名官兵不幸全部遇难!! 明天朋友结婚,征集整人的法子 是谁删除了我贴?? 而且没有跟我说一声!!! 白天工作,晚上溜狗,爽呀!比大暑天喝了冰镇雪碧还爽! 我的jsp服务器是iis+TOMCAT+win2000pro 不知怎的每次用不了多久就显示出 网页无法显示 目前访问该 Web 站点的用户过多,我只是自已用怎么 终于有星了,高兴,散分(第一次散分,请斑竹手下留情) 我的刚装的2000进入启动界面时,进度条读到2/3时就蓝屏了! 请问在运行时向ActiveX控件中添加ActiveX控件的方法是什么? 高手请进:如何在WinNT以上系统进行BIOS读取! 毕业设计的问题,请各位大哥帮小弟一个忙 备份与恢复 数据备份与恢复 我用win2k,下载了php4.3.1,extension_dir是c:\php\ext 可是里面没有php_gd.dll,怎么办,到哪里可以down一个补上? 帮我一下:解决中文问题 新手问题:怎么在用ATL COM WIZARD已生成的dll加入MFC 请问如何删除系统? warton给大家散分来了! 求助,请问哪儿提供的域名空间最好? 新手上路,VB中用ODBC连接ACCESS 关于ORACLE中(多)表的备份和恢复问题 MM``狂给分^*^ 找人一同研究JUnit对于数据库的测试架构 怎样在程序中动态生成数据库(内存库)?求救高手 请问,怎样用本机作web服务器? 这样的夜晚 想起一些故人.... 各位的jbuilder是用什么命令运行的 刚学者求问 python+CGI 如何获得客户端IP Win2000上, 对话框没能弹出到桌面顶层 在静态上下文中不能引用非静态变量? 有没有高手可以举例讲解一下self的各种用法? 一个很困惑的问题:文字处理软件中,字体大小改变时,字符的高度,宽度怎么变化? 移动硬盘在重装系统时忘记拔下来。结果给误删了,求助!没有格式化的! 怎样创建自己的 Cursor ? 请问一下 这个是什么意思 public Properties() { this(null)} 在SQL7中日志满了,如何清除日志. ?????????? 一个编程习惯上的问题 为中国争口气!投中国的长城和布达拉宫一票!!恳请置顶! 菜鸟问题4。。。。 网上现在有没有用ASP.NET做的实例 vc.net为什么没classwizard 有关CDC的一个问题,有代码,请指教! 要陪老婆,兄弟们,给我顶住,我先闪了,..... javascript 能否取得客户端的IP? 关于删除xp_cmdshell的问题 哪儿可以下载vc++.net? 那位兄台能否告诉我如何crack Together Edition for JBuilder !(本人纯属学习之用) Cypress EZ-USB 的问题 急! 为中国争口气!投中国的长城和布达拉宫一票!!恳请置顶! 关于工作流的概念问题?? 家里挂镜子好吗 世间安得双全法,不负如来不负卿? Do you know?是一般疑问句吗? 除哪一种外都是由细胞构成的?A,狗 B,烟草花叶病毒 C,蕨 D,向日葵请说明选择理由哦! 楚王想取笑晏子,却被晏子取笑是什么谚语 Do you know 后面加特殊疑问句怎么加?给个例子. 构成向日葵的组织有 晏子的故事有哪些? do you know之后的疑问句是否要加助动词根据所给词的正确形式填空(不必一空一词):Do you know how many _____(tooth)a tiger has中间是填teeth does还是只要填teeth,如果填teeth does 但是后面的has已经 如图所示,左侧是倾角为60°的斜面、右侧是 圆弧面的物体固定在水平地面上,圆弧面底端切线水平,一...如图所示,左侧是倾角为60°的斜面、右侧是圆弧面的物体固定在水平地面上,圆弧面底端 《我的伯父鲁迅先生》为什么说“四周围黑洞洞的,还不容易碰壁吗”? 有人说是这样的you do not know china,do you?疑问句不是把DO放句首吗?Do you not know china?这样不对吗 他们相爱两年了.They have___each other for 2 years, 四周黑洞洞的,还不容易碰壁忙?这句话怎么理解?(《我的伯父鲁迅先生》) 你了解冬奥会吗?用英语咋说 与Do you know anything about Winter Olympic不同 要一般疑问句 《我的伯父鲁迅先生》课后问题:“你想,四周黑洞洞的,还不容易碰壁吗?”找出类似的句子并解释 世间安得双全法,不负如来不负卿! 利润表的格式主要有多步式利润表和单步式利润表两种,我过企业采用的是单步式利润表格式?啊、、、、应该是多步式,晕了这会. help!math!已知abcd是正数,且满足a+b+c+d=4,用M表示a+b+c+d,c+d+a,d+a+b的最大值,则M的最小值是多少? correct副词 我国企业利润表采用什么方式 help!(5年纪math)有一个长方体铁盒,它的宽与高相等.如果长缩短15cm,就成为表面积是54cm^的长方体,这个长方体的宽是长的几分之几? 单给一个企业的利润表叫进行分析,主要对哪些指标分析呢?在这道题中还有上一年的利润表数据.我想应该是从盈利能力方面着手吧?能具体给几个指标么? Actions speak louder than words.谚语的中文意思中文意思就好了 I like this pink jacket改否定句;They like the school也改否定句并写出一般疑问句,作否定与肯定回答 MAth promble! help !Why is important to learn to communicate mathematics ? give a real-life exmple of communicating mathematics luck的动词形式,friend的动词形式、副词形式,skill的形容词、副词、动词形式及其反义词 able的名、动、副词形式,simple的名词、副词、动词、反义词 They like super robots(否定句)This pair of gloves is yellow(复数句)The are(horses)in English(提问 math help!)某水坝横截面是等腰梯形,坝顶宽6m,坝高10m,斜坡ΑB的坡度为1:2.现要加高2m,在坝顶宽度和斜坡坡度均不变的情况下,加固一条长50m的大坝,需要多少土方? A:Which sport do you prefer,basketball or baseball?B:I ___ basketball to baseball.横线上填一个单词! 我的伯父鲁迅先生++++++++++++++四周黑洞洞的比喻什么++++++碰壁比喻什么 《我的伯父鲁迅先生》中的“黑洞洞”是什么意思? People on Hainan Island like scuba diving.But do you know what makes it possible for people __26___ under water for a long time?It’s the scuba machine.Then do you know _27___ invented the machine?It was Jacques Cousteau and _28____ friend.Cousteau 如图,如果直线L 的表达式为y=kx+b,那么关于x的不等式kx+b>0的解集是______________如果直线L 的表达式为y=kx+b,那么关于x的不等式kx+b>0的解集是______________,kx+b 参加一次聚会的每两人都握了一次手,所有 人共握了10次手,有多少人参加?这种列方程题目,为什么x-1,x-1是哪里来的?而且x-1为什么和x相乘?并且还除以2? people in Hainan与people of Hainan区别 语文一道题;连( )带( )例;连(蹦)带(跳)英语题目;open your books(改为否定句,但意思不变哦 ) they know what each other is doing.为什么错误错在那里. What's the weather like today?(用in Hainan 进行改写) 海带细胞中积累的碘的方式是什么? 《我的伯父鲁迅先生》问:四周黑洞洞是什么意思? 一只蛐蛐6条腿,一只蜘蛛8条腿.现在有蛐蛐和蜘蛛共14只,共有100条腿.蛐蛐和蜘蛛个有多少个? Open the gate.please 改为否定句,句意不变 Kitty is my sister 对画线提问 Kitty是画线的 5人见面,每两人握一次手,一共要握10次()判断 whats the weather like in hainan 这句话译成中文 “任意四边形都可以密铺”这句话对吗? 有个成语后面两个字是善诱,前面前是两个相同的字,是哪个成语? 一只蛐蛐六条腿一只蜘蛛八条腿现在蛐蛐和蜘蛛共10只共有68条腿蛐蛐和蜘蛛有几只用五年级的方程解 任意四边形都可以密铺吗 前面两个字重复的成语有哪些? 一只蛐蛐6条腿,一只蜘蛛8条腿.现在有蛐蛐和蜘蛛共10只.问蛐蛐和蜘蛛各有多少只? 每2个参加宴会的人见面时握一次手,N个人握了几次 (翻译正确必采纳)I live,is to let people see me not pleasing to the eye of each should be! 民航客机一般都有紧急出口,发生意外情况的飞机紧急着陆后,打开紧急出口,狭长的气囊会自动充气生成一条连接出口与地面的斜面,人员可沿斜面滑行到地上.若机藏口下沿距地面3.2M,气囊所构 的水母、海带,陆地上的蜥蜴、小草等 生物细胞中含量最多的是 英语翻译for people to live anywhere near it.中的to是动词不定式吗不能住人,是不是应该是not to live,为什么这儿要用动词不定式呢 关于机械能守恒的叙述,下列说法正确的是A物体做匀速直线运动,机械能一定守恒B物体所受合力做功为0,机械能一定守恒C物体所受合力为0,机械能一定守恒D物体所受合力不等于0,机械能可能守 初中生物学里有哪些海洋下的食物?例:海带请说出这些的名字, 八条腿的蜘蛛和六条腿的蝉共8只,一共52条腿,蜘蛛多少只,蝉多少只? 关于机械能是否守恒的叙述,正确的是( )关于机械能是否守恒的叙述,正确的是( )A.做匀速直线运动的物体机械能一定守恒B.做变速运动的物体机械能不可能守恒C.外力对物体做功为零时, 美共和党议员称国安局或监听奥巴马电话朴槿惠:日本应向德国学习正视历史错误美军士兵与怀孕妻子视频聊天目睹其被歹载70人船只在缅甸海域倾覆 已找到8伊朗最高领袖称支持伊核问题会谈 对前快讯:载70人船只在缅甸海域倾覆 已美无人机再清除巴塔首领 和谈生变惹怒英国一医院医疗过失误诊流产 恐致死逾英国一医院医疗过失误诊流产 恐致死逾伊朗最高领袖称支持伊核问题会谈 对前中国珠算备选“非遗” 入选“非遗”项日媒:两艘中国海警船驶入钓鱼岛附近毗第十一届夏威夷“中国风情节”开幕浙江部分行政区划调整 绍兴县上虞市撤宁波住博会市民看房重开发商 遗憾大牌通讯:历史遗迹记录昔日辉煌――泰国旧英国铜像常被挂内裤乳罩 政府被迫将其英国铜像常被挂内裤乳罩 政府被迫将其通讯:历史遗迹记录昔日辉煌――泰国旧亲善合作 睦邻友好——国内外人士积极马来西亚举办“小状元汉语经典诵读大赛水肿女人看起来更胖?!消肿招式赶紧g又暴露年龄了?看索尼大法是怎样炼成的下周热点前瞻:重点把握三板块投资机会史记中记录的土豪:孔子的学生可以当炒玩手机走火入魔的八个特征——你中了几美国触动“末日”按钮?出动“末日飞机专家:中国也在研制可回收火箭 技术已日本全面溃败!这些中国品牌成了世界抢市售销量极佳 四款DDR3 4GB内姚明和中职联的改革,篮协不乐意了郑捷死刑定谳 台北捷运公司:持续加强中国2020年发射火星探测器 203仅剩的优质壳资源还有哪些?(附股)666,原来花生皮这么牛掰!中国不成熟的股市正在抛弃大量投资者!勤上光电002638暴涨即将到头?后植物界的大熊猫——海南黄花梨命名记晚七点!央妈紧急出动下周A让1.6亿今早雷雨天气齐袭河南 未来几天小雨将云南省检察院发布“案件信息公开”细则玄天仁女每日运程4月23日
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘