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

如何判定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

雪中送炭:十大前沿移动应用开发工具 高通智能手表Toq都用到了哪些技术? 研发周报:修改一行SQL代码 性能提升了100倍 2013年NoSQL就业趋势分析 鲜为人知的静态、命令式编程语言——Nimrod 高性能Web应用打造攻略:扩展过程中20个最大的绊脚石 开源项目Marathon:让你的数据中心像谷歌一样运行 精益化运营:10款移动统计分析工具推荐 移动建站工具(一):分秒钟将Web网站移动化 移动周报:小米的“倚天屠龙记” 智能手表是个尴尬的产品 屏幕缺陷一枪毙命 看15岁的谷歌的前21位员工现在都在做什么 分析师:三星将失去中国市场份额的头把交椅 5款工具助你写出更好的Java代码 Noitom:&amp;quot;中国创造&amp;quot;的动捕技术 缘创派:帮助技术人员寻找创业伙伴 Nginx创始人Igor Sysoev解读Nginx的发展史 对女性友好的编程语言 ISC2013专家云集,畅谈全球网络安全 CTO俱乐部第109期下午茶:数据库之分久必合,合久必分 CloudConvert:支持移动应用的格式转化服务 Angular.js VS. Ember.js:谁将成为Web开发的新宠? 斯卡利沉寂多年后首谈乔布 他的离开错在董事会不在我 CTO如何避免决策失控(二):遭遇棘手问题的七种迹象 微软面向开发者提前发布Windows 8.1 安抚不满情绪 PostgreSQL 9.3发布,可靠性、可用性获得较大提升! Web设计的新宠儿:卡片式设计 LSI:从“计算”架构到“数据流”架构的变迁 [开源推荐]TurboGears:一站式的Python开发框架集合 腾讯云公测终究还是来了 BAT云大战将开启? iOS 7将从这三方面影响IT界 如何实现和ITS原子钟进行国际标准时间较正、查询? 哪有《Essential C++》电子书,下!谢谢 在单击GRID风格的数据窗口中的行时,row参数能指示当前点击的...(请进) 请问如何使用IIS5.0 ASP连接AS400数据库,我使用ODBC为什么不可以? IE菜单问题 怎样区别打开文本文件是big5码还是gbk码?? 大侠们,更新数据库里面的Images类型的字段的SQL语句怎么写啊,有什么好方法吗? Visual studio .net是用什么开发的啊?大家来讨论一下 求好书!!!! 我如何是好! c++的CODE如何才能最好的移植成java的 求好书!!!! 谁有字符串的压缩算法!!!慷慨送分!!! 视频数据如何在数据库中操作 求好书!!!! ??? 我需检验某表单的文本框中只能有数字,字母等字符,是用javascript做,还是用JSP做? 求好书!!!! 我为何添加不了成员变量 浏览器不能浏览JAVA2写的Applet,那里可有升级包? 还是有关于图片上传,请高手帮忙 加强型的 MSFlexGrid 我认识 KiteGirl(小仙妹) ( 是个好女孩 代表到底是什么东西? 有良知的中国人近来看看! 在vb中做的ActiveX DLL文件如何在vc中调用????? 谁能给我提供磐英810主板的显卡驱动 请问用PDM从数据库中反生成的数据模型,连接到另外的数据库中生成库表,为什么会失败? 请问如何将office2000或office xp 的激活提示除掉 怎么在LINUX下编译JAVA? 请问foxbill:.h文件之前的这些都是什么意思? MEMFILE例子的-----送分帖! 请问如何将office2000或office xp 的激活提示除掉 关于class的问题 我的“路由和远程访问” 出了一个怪问题 用VB设计自己的E-mail系统 这个就是你们说的美女檬檬吗? 我觉得....... 两个小问题————高手赐教! 一个局域网内监控程序,有点问题,请大家帮忙看看! 怎么在LINUX下编译JAVA? ADO数据库简单问题? -128的原码,反码,和补码是什么 ado问题,紧急!高分求救 展望COM,我的COM学习计划!来看看! 借宝地一用,请有良知的中国人近来看看--印尼华人! 拨号上网问题 人民银行网站建设中数据库存储过程的调用 100分求解一个能打印*.frm的控件,提供相关资料的也给分,27号晚5:00结账送分 visual C++ ??? Delphi??? 我憋的难受! 一个编译错误。不知道是什么原因 请问如何使用vbscript删除表的一行(制定行) 玻璃是什么东西做的? 血钙是1mmol/L,每天需要补充多少mg钙呢. 纱布和擦镜纸用在显微镜上的区别?就是纱布什么时候用,擦镜纸什么时候用?比如擦镜头时用什么? 形容声音大的成语和带有人体器官的成语越多越好 填一些人体器官的成语赤( )空( )、明( )张( )、膛( )结( )、油( )粉( )、虎( )熊( )、( )惊( )战 已知如图在△ABC中,∠ACB=90,CD⊥AB,∠1=∠2 FG∥AB求证CE=BG大哥大姐图片送到 琉璃是什么东西,跟玻璃有啥区别? 填人体器官部分有关成语.1.( )高( ) ( )亦( )红 ( )信弃义 ( )战( )惊 各位大哥大姐,行行好,帮个忙!一支内径为3厘米的圆柱形长试管中装满了水,现把试管中的水逐渐滴入一个内径为8厘米、高为1.8厘米的圆柱形玻璃杯中,当玻璃杯装满水时,试管中的水的高度下 台秤的平衡螺母在什么位置 巧填成语(人体器官)( )挥( )送 为什么在照相机镜头前加一个偏振片可以滤掉玻璃反射的光? 这样计算玻璃尺寸合理吗?我买玻璃的尺寸是 147*12 的2块 147*10的1块 515*10的 4块 12*11的3块 12*10的 1块 12*9的一块 12*8一块 把他们的的面积加一起是 0.7898平方米去玻璃店 他们按这尺寸收我的钱: 帮填一下带有人体器官的成语改()换() 以()代() 刎()之交 推()置() 量()裁衣 各位大哥大姐们,小妹又有几条数学题不会了,帮个忙,嘻嘻……这次的是几条应用题,所以太复杂的小妹又看不懂,所以有的方程最好简单一些,还有这是应用题,所以一定要有过程!姐姐、哥哥们, 异性玻璃怎么算面积,比如三角形玻璃如何计算面积?是算实际面积还是按最大尺寸来计算 高低密度脂蛋白比值的意义我最近体检,体检单上写着:HDL-C/LDL-C=0.57,高.参考范围0.17-0.45.这种结果是好还是好.高密度脂蛋白/低密度脂蛋白,这个比值是不是越大越好?谢谢行家指导. 摄影时,镜头前面插一块玻璃是什么意思 集市常用的弹簧台秤测的是物体的什么?应用的物理原理是什么 在实验室里做钠跟水反应的实验时,为什么要用玻璃片 如图所示,斜面高为1m,长为3m,工人用400N沿斜面方向的力 将重为840N的箱子推到车上.在这过程中工人做如图所示,斜面高为1m,长为3m,工人用400N沿斜面方向的力将重为840N的箱子推到车上.在这过程 商场自动扶梯匀速运行,两个小孩在电梯上向上跑.男孩一秒钟上一级台阶,女孩三秒钟上两级台阶,男孩50秒到达楼禁止列方程 牛顿环实验时,平面圆玻璃下为什么要放黑纸 一斜面高为1m,长为3m,工人用400N沿斜面方向的力将重为840N的箱子推到车上.在这过程中工人做的有用功是_840_______J,机械效率是___70%___________,物体所受的摩擦力为___________N.若斜面是光滑的,则 小明利用天平一台测量体重的台秤一张纸一盆水一瓶红墨水粗略地测出皮球撞地球时对其施加的力的大小.你能猜出他是怎样做到吗?【提示:小明是通过力产生的效果来反映力的大小的】 真空镀膜实验中,为什么要清洗玻璃片 斜面高为1m,长为3m,工人用400N沿斜面方向的力将重为840N的箱子以0.5m/s的速度匀速地推到车上.在这过程工人斜面高为1m,长为3m,工人用400N沿斜面方向的力将重为840N的箱子以0.5m/s的速度匀速地推 商场自动扶梯由下而上匀速运行,两个小孩在电梯上向上跑.男孩1秒钟上一级台阶,女孩3秒钟上两级台阶,男孩50秒到达楼上,女孩60钞到达楼上.自动扶梯的载人面有多少级台阶? 3mmol/L总硬度等于多少mg/L? 如图所示,斜面高为1m,长为3m,工人用400N沿斜面方向的力将重为840N的箱子推到车上.总功为多少 如图,等腰梯形ABCD的面积为100平方厘米,AB//CD,AD=BC,且AC垂直于BD,求梯形的高. 把一个重为600N的货物推到车上,这时木板成为一斜面,斜面长3m,设斜面是光滑的,人的推力为多大? 斜面高1m長3m 人用400N沿斜面方向推840N推上車有用功多少 機械效率多少 用定滑轮把200N的货物匀速提高5m,所用拉力是240N,则有用功是_____J,总功是_____J,额外功____J,机械效率是____ 3m的八分之一和1m的三分之一哪个更长一些要过程~!!! 一斜面长10m,高4m,沿斜面方向的推力F,将重100N的物体由底端推到顶端的过程做了100J的功求1,运动过程克服物体重力做的功?.2,斜面的接卸效率.3,推力F的大小. 人体器官的成语:五()六() 斜面长5m 要把一个600N重的物体沿斜面匀速推动至顶端 所加推力为多少N? 斜面长S=10 高h=4 用沿斜面方向的推力f 将一个重为100N的物体由斜面底端A匀速推向顶端B过程中物体克服摩擦力 做功100J 求1,运动过程中克服物体的重力做的功2,斜面的机械效率3,推力F的大小 玻璃的规格最大是?请回答 电子台称和机械台秤各有什么优点,以及使用时注意事项是什么,使用时怎么称量更为精确?越详细越好 1m的四分之三与3m的百分之25比较哪个更长些? 玻璃幕墙的每个玻璃的长宽尺寸怎么确定?任意还是有数据来供选择? 带有人体器官的成语? 小熊在实验时,先用一块清洁纱布擦拭目镜,再将玻璃标本放在显微镜载物台正中央,用压片夹夹住,然后双眼侧视下,将物镜缓缓下降,接着,小熊用左眼朝目镜里观察,同时转动细准焦扭,缓缓上升 一个三角形与一个平行四边形是同底,三角形的高是5CM,四边形的高是4CM,求这个图形的面积?三角形在上,四边形在下 台秤称量测试中称量点有哪些 如图所示,斜面长s=4m,高h=1.2m,用沿斜面方向的推力F,将一个重为500N的物体在10s内由斜面底端匀速推到顶端,运动过程中对物体的推力F保持300N.求:⑴克服物体重力做的功;⑵推力所做的功;⑶ 电梯与人相对静止匀加速向上运动时,电梯对人有作用力? 用定滑轮匀速体升为180n的物体,所用拉力为200n,物体升高2m,所用时间为5s.有用功为多少J,拉力做功的功率为多少W,定滑轮的机械效率为多少?过程都写出来, 小熊在实验时,先用一块洁净纱布擦拭目镜,再将玻璃标本放在显微镜在舞台正中央,用压片夹住(两处错误)然后在双眼侧视下,将物镜下降.接着小熊用左眼朝目镜里观察,同时转动细准焦螺旋, 我想制作一个长70CM的玻璃鱼缸,请问它的最佳宽度和高度玻璃厚度应该是多少?它都需要什么东西才能制作起底板用多大面积的玻璃呢?多厚?我想做60cm宽40cm高50CM的 小明用定滑轮将该物体在4S内匀速提高2m,所用拉力为200N,小明做的有用功?定滑轮的机械效 如图所示,斜面长S=10,高h=4m,用沿斜面方向的推力F,将一个重为100牛的物体由斜面低端A匀速推到顶端b,运动过程中物体客服摩擦力做了100J,求(1)运动过程中克服物体的重力做的功;(2)斜面 小华今年5岁,爸爸今年32岁,爸爸问小华:"什么时候我的年龄是你的10倍?" 如图,四边形ABCD中,AD‖BC,E是CD上的一点,且AE、BE分别平分∠BAD、∠ABC.1)求证AE⊥BE2)证E是CD中点3)AD+BC=AB 小熊在做实验时,先用一块洁净纱布擦拭目镜,再将玻片标本放在显微镜载物台正中央,用压片夹夹住.然后在双眼侧视下,将物镜下降.接着小熊用左眼朝目镜里观察,同时转动细准焦螺旋,缓缓上 有人体器官名称的成语吗?还有形容声音大的成语吗? 如图,四边形abcd中,ad平行bc,e是cd上一点,且ae,be分别平分角bad,角abc,求证ad加bc等于ab 使用显微镜时,当载物台不清洁时,应用什么擦净,纱布还是擦镜纸?为什么?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘