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

VB判断一个32位程序是否结束

HTML文档下载 WORD文档下载 PDF文档下载
VB判断一个32位程序是否结束
作者:胡晓磊
Windows 3.1允许程序员用GetModuleUsage()函数来测试一个程序或模块是否仍在运行。但在Windows95及Windows NT下,每个程序都独立地运行在单独的环境中,因此就排除了测试过程的状态。

Microsoft 提供了少量的函数,如:WaitForSingleObject和 WaitForMultipleObjects 来完成该功能。尽管如此,这些函数并不是时时都有效。举例来说,如果你调用WaitForSingleObject函数监测Internet Explorer的运行,同时你又选择了“帮助”菜单中的“教程”项,结果将会是系统死锁,你不得不终止WaitForSingleObject函数的运行。造成这种结果的 原因是你点选了“教程”后,会返回给Internet Explorer一个地址,告诉浏览器转到下一个网址。这种情况通常发生在一个程序是由调用它的父程序中的一个过程或对象所启动,反过来却要等待父程序的结束。

本文的目的就是要解决这个问题。

Declare

Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredaccess&, ByVal bInherithandle&, ByVal dwProcessid&) As Long

Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpexitcode As Long) As Long

' Required Constants
Const STILL_ACTIVE = &H103
Const PROCESS_QUERY_INFORMATION = &H400

Code

Sub ShellWait(cCommandLine As String)

Dim hShell As Long
Dim hProc As Long
Dim lExit As Long

hShell = Shell(cCommandLine, vbNormalFocus)

hProc = OpenProcess(PROCESS_QUERY_INFORMATION, False, hShell)

Do

GetExitCodeProcess hProc, lExit

DoEvents

Loop While lExit = STILL_ACTIVE

End Sub

调用 ShellWait,控制权将不会交给一个过程,直到调用该过程的程序结束

查看GetExitCodeProcess的用法
Google Glass的竞争对手来了:看YC演示日的五款新孵化项目! GPU Saturday技术沙龙:OpenCL程序员眼中的下一代APU架构 黑帽大会演讲中国第一人:从攻到防,从白帽黑客到创业者 15个步骤创立技术公司,并收获千万用户(完结) CTO容易犯的三大错误 谷歌艺术计划:互联网能否取代真实的博物馆? Hadoop技术沙龙:Hortonworks技术研发总监展望Hadoop 2.0 Marissa Mayer:雅虎月活跃用户增长了20%达8亿 移动用户3.5亿 气死偷车贼:脑电波防盗技术,让偷车贼无计可施 TIOBE 2013年9月编程语言排行榜:Transact-SQL首次进入前十 前Oracle总裁Charles Phillips:商业软件领域的“乔布斯” 留住你的用户:8款第三方移动推送服务 人气最旺:主流移动应用创建工具大合集(一) 不要强迫用户注册,请让他们先试用产品 Eve:基于Python的REST API框架 想扩展你的数据库吗?那么先了解一下I/O 白帽黑客将现场爆料Android系统及框架漏洞 9月13日:程序员节,一起来过节吧! 欲与Siri、Google Now比高低:微软开始打造个人助理Cortana 【开源专访】禅道创始人王春生:覆盖项目全周期,回归管理的本质 携程无线创业者大赛成功落幕 梁建章为头名“快展”颁20万奖金 Bug报告:小角色,大用处! iOS开发者必备: 五大编程类工具 多核优化软件MCx释放EMC VNX闪存潜能 手把手教学:详解HTML5移动开发框架PhoneJS 快速学习新技术的几条建议 研发周报:Angular.js or Ember.js 谁将成为Web开发的新宠? 10款免费且开源的项目管理工具 Greg Pass:拯救Twitter的无名英雄 Cassandra杀回数据库排行Top 10,及需求Java 7的2.0版本 安全专家王清将揭秘“大数据时代的大安全” 推荐给希望了解应用程序开发全过程的“初学者”一本书!!!!!!!!! 过节了!谨以些分献给坚守在灌水第一线的朋友们~~(一) 未来的软件架构和技术 zalyer接帖 过节了!谨以些分献给坚守在灌水第一线的朋友们~~(二) 数据库保存图片的问题 js赋值后提交,怎么在servlet中value 为空?? SendMessage参数问题, 过节了!谨以些分献给坚守在灌水第一线的朋友们~(三) 未来的软件架构和技术 ▁▂▃▄▅学ASP一个月了,现在学SQL SERVER,散分100,只为交友!▅▄▃▂▁ 大家好 ! 中秋快乐 顺便提个问题 ? 在线等....顶也给分拉...Explorer执行了非法操作该窗口即将关闭? 过节了!谨以些分献给坚守在灌水第一线的朋友们~(四) 过节了!谨以些分献给坚守在灌水第一线的朋友们~(五) excel中数据透视表? 了解:今年高程考试有没有新增内容,因为去年就新增了CMM、C++、OA办公自动化软件开发等知识,事先也没有通知各位考生。 绝对好文---------------人力资源“总奸”的自白-------ZT 中秋检举 一个恶意网站! 用PHP上传文件到LINUX服务器,结果文件用FTP软件删不掉 有做网格控件经验的请进 请教一个数据库的小问题 各位高手帮帮我! 高手来帮忙!!! 菜鸟提问:怎样从HBITMAP获得BMP的尺寸?(SDK) 请帮忙。 请问一个关于photoshop的问题,多谢指教100分 vb excel 关于MFC多文档在何处放置自已的初始化文档的代码? 今年又是一个人过中秋,终于想找个GF了! 电影画面倒置是怎么回事? 如何将pbyte指向的byte数据传递给byte数组或char等 送分 为中秋节还工作在自己岗位上的朋友散分! 送分 cgi---這裡有多少個寫法?? 送分 gcc编译好的程序怎么运行阿? 关于多文档的问题:如何固定视窗大小? 替换字符串 初学VC的困惑——什么是标准C?? 一个小数,如何确定小数点的位数? 菜单乱码,求救! 怎样调用delphi编的DLL中的函数 关于XP操作系统中的imail 服务器的配置问题 請問有多少個寫法?????在线等待!急啊! to 思归 ,VIEWSATE的那个问题,无人回答,我贴出代码了,你看看, substring(indexA, indexB) 的官方解释不明白 请教大师两个问题 卷积是什么意思?请介绍一下这方面的资料? 用户界面与开发环境怎样脱离????? 求DNF2013国庆套下架时间 dnf2013国庆套怎么样,我是魔神 dnf2013国庆套什么时候出. 成语:天什么地什么 (3个) 什么天什么地 (3个) 什么天什么什么 (谁便) 什么什么什么天 (谁便) 急 有零花钱的好处至少20条 "注销“这个词是什么意思?我们不说它有什么作用,就单单说这个词是什么意思,"注销“这个词是什么意思?我们不说它有什么作用,就单单说这个词是什么意思,我看到一句话:“关闭程序并注 核桃树生病啦,树皮上有白白的,还有一层类似虫卵了皮那一层皮还能刮下来,几乎树干树枝皮上都是,怎么办啊 暴马树皮能治疗什么病大神们帮帮忙 法桐树皮纵向开裂到木质部造成树木死亡是不是病害? 服装店欲购甲乙俩种运动服,甲款每套进价350元,乙款每套200元.该店计划用不等于8000的资金定购甲乙俩种运动服,且甲款运动服至少订11套.问一共有几种方案?该店以每套甲400元,乙300元的价格出 我想问问什么什么Q是什么意思啊?比如说EQ是什么意思,IQ是智商,还有没有其他什么Q, 伊拉克总理与美总统会晤 请求美国提供安徽阜阳为“面子”修铁皮板墙 “里子伦敦前市长:伦敦有必要成为一个独立国埃及摧毁\"进口通道\"致燃料缺乏 2 2会谈,日联俄制华打错算盘英国房价持续高涨 或考虑向海外房主征杭州地铁开通未满1年46块钢化玻璃碎人社部副部长:稳妥改革机关事业单位养日大规模“夺岛”军演剑指何方?洛杉矶机场枪击案嫌疑人身份确定2013国际变性人选美决赛在泰国落幕汽修行业乱象丛生 同价位车维修费竟差中国研究人员探明试管婴儿性别失衡的生美俄经济战上相互妥协,石油人民币得空2016高考英语:难度下降,一分甩千专访山东球迷董军:坚守二十年 不变赤2016.03.09 01:41:2对于穷学生来说,学士学位没卵用如何当个领导者不可小觑:寂静给大脑带来的四个好处抱歉HBO,剧透是防不胜防的黄磊:希望有朝一日春晚停下来 把除夕掏宝九戈重生铸铁宋明珠三国之花三郎传奇新世纪的穿越者们大医仕热血魔魂袭明洪荒通天之截教风云售楼部的极品保安醉卧江湖笑仙岩旅游华盖山旅游江心寺旅游士丹利街旅游维多利亚湾旅游石澳旅游总督府旅游西湾大桥旅游海事博物馆旅游红松洼旅游桃山湖旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘