网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.MsComm文字传输.
.用Winsock实现点对点通信.
.VisualBasic属性、方法和事件六.
.记录集锁定--多客户环境下VB数据.
.VisualBasic属性、方法和事件四.
.VB从零开始编外挂(二).
.VB.Net基本语句.
.VBCOM基础讲座之发布组件.
.用BASIC语言设计Windows风格的用.
.字符串中包含双引号.
.利用IE控件访问Internet.
.VB的显示/隐藏Start按钮.
.关于VisualBasic6.0类开发(下).
.VB数组小技巧一则.
.VisualBasic菜单在应用程序中的使.
.用MediaPlayer控件做一个MP3播放.
.VisualBasic控件简介.
.电影结束画面的卷动效果.
.编写快速高效的VB程序.
.VB技巧-工具栏使用技巧.

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

发表日期:2006-2-27


Windows3.1允许程序员用GetModuleUsage()函数来测试一个程序或模块是否仍在运行。但在Windows95及WindowsNT下,每个程序都独立地运行在单独的环境中,因此就排除了测试过程的状态。

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

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

Declare

DeclareFunctionOpenProcessLib"kernel32"(ByValdwDesiredaccess&,ByValbInherithandle&,ByValdwProcessid&)AsLong

DeclareFunctionGetExitCodeProcessLib"kernel32"(ByValhProcessAsLong,lpexitcodeAsLong)AsLong

'RequiredConstants
ConstSTILL_ACTIVE=&H103
ConstPROCESS_QUERY_INFORMATION=&H400

Code

SubShellWait(cCommandLineAsString)

DimhShellAsLong
DimhProcAsLong
DimlExitAsLong

hShell=Shell(cCommandLine,vbNormalFocus)

hProc=OpenProcess(PROCESS_QUERY_INFORMATION,False,hShell)

Do

GetExitCodeProcesshProc,lExit

DoEvents

LoopWhilelExit=STILL_ACTIVE

EndSub

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

查看GetExitCodeProcess的用法->

上一篇:简单计算函数的编写过程 人气:3843
下一篇:VB软件设计中的几个问题 人气:3350
浏览全部Visual Basic的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐