用vb轻松调用其他程序

用vb轻松调用其他程序

ID:34783929

大小:57.13 KB

页数:3页

时间:2019-03-10

用vb轻松调用其他程序_第1页
用vb轻松调用其他程序_第2页
用vb轻松调用其他程序_第3页
资源描述:

《用vb轻松调用其他程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用VB轻松调用其他程序  我们编写程序时,有时会遇到在一个程序中调用并控制另一个程序执行的情况,在一些编程语言中实现起来较为繁琐,但如果用VB编写时,则可轻松实现。下面我就以在程序中调用“计算器”为例,总结了以下几种方法:  一、以异步方式来执行其他程序  Shell函数是以异步方式来调用其他程序的。也就是说,用Shell启动的程序可能还没有完成执行过程,就已经执行到Shell函数之后的语句。  语法:Shell(pathname[,windowstyle])  说明:pathname:必要参数。Variant(String),要执行的程序名,以及

2、任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器。  例如:RetVal=Shell(″C:WINDOWSCALC.EXE″,1)′调用计算器。  二、以同步方式来执行其他程序  有时候,我们需要让VB在执行完外部程序后再执行下一语句,这就需要使用API函数。  我们可通过OpenProcess和CloseHandle函数来检测调用软件的运行情况。这两个函数的声明如下:  DeclareFunctionOpenProcessLib″kernel32″Alias″OpenProcess″(ByValdwDesiredAccessAs

3、Long,ByValbInheritHandleAsLong,ByValdwProcessIdAsLong)AsLong  DeclareFunctionCloseHandleLib″kernel32″Alias″CloseHandle″(ByValhObjectAsLong)AsLong  建立下面函数,用以判断程序是否在运行,如果是,则在运行时返回True。  FunctionIsRunning(ByValProgramID)AsBoolean  ′传入进程标识ID    DimhProgramAsLong  ′被检测的程序进程句柄    hP

4、rogram=OpenProcess(0,False,ProgramID)    IfNothProgram=0Then    IsRunning=True    Else    IsRunning=False    EndIf    CloseHandlehProgram  EndFunction  例如要调用计算器(CALC.EXE)并等到它运行完成后再执行下一语句,可以使用以下代码:  DimRetVal  MsgBox″开始运行″  RetVal=Shell(″C:WINDOWSCALC.EXE″,1)  WhileIsRunning(

5、RetVal)    DoEvents  Wend  MsgBox″结束运行″  三、关闭正在运行中的其他软件  如果要在程序中关闭正在运行中的其他程序,可以先使用FindWindow函数找出相应的程序句柄,然后调用PostMessage函数关闭该程序即可。  这两个函数的声明如下:  DeclareFunctionFindWindowLib″user32″Alias″FindWindowA″(ByVallpClassNameAsString,ByVallpWindowNameAsString)AsLong  DeclareFunctionPost

6、MessageLib″user32″Alias″PostMessageA″(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLong  例如要检测“计算器”程序是否正在运行,如果是则关闭它,可以使用如下代码来实现:  DimwinHwndAsLong  DimRetValAsLong  winHwnd=FindWindow(vbNullString,″计算器″)  IfwinHwnd〈〉0Then    RetVal=PostMessage(winHwnd,

7、&H10,0&,0&)    IfRetVal=0Then        MsgBox″关闭计算器出错!″    EndIf  Else    MsgBox″计算器程序没有运行。″  EndIf

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。