怎么让vb调用一个外部程序(A.exe),A.exe关闭后自动再执行另一条命令?

如题所述

private function checkexeisrun(byval exename as string) as boolean
dim ps
'枚举进程
For Each ps In GetObject("winmgmts:\\.\root\cimv2:win32_process").instances_ 
'循环进程
If ucase(ps.name) = ucase(exename) then 
 checkexeisrunning = True  
 exit function
 end If
 next
 end function
private sub command1_click()
shell "A.exe" '调用A.exe
timer1.enabled=true '启动计时器
end sub
private sub timer1_timer()
if checkexeisrun("a.exe")=false then '"a.exe"就是程序名
'你要执行的命令
end if
end sub
'计时器interval属性越小响应时间就越快,但不要调太小,否则可能会无响应。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-11
1、用SHELL函数可以调用外部程序
2、可以在系统中监视指定程序的进程,找不到了就是程序关闭了,要用API函数,FOUNDWINDOW.追问

2.的具体怎么写?检测到程序关闭再自动执行条拷贝命令(我想备份一个文件)。请赐教!

本回答被网友采纳
第2个回答  2015-06-11
winexe shell 都行,findwindow检测a是否在运行追问

检测的具体怎么写?检测到程序关闭再自动执行条拷贝命令(我想备份一个文件)。请赐教!

追答

要求提供窗口标题给findwindow,就知道这么多了,参考vb api msdn

追问

怎么写详细代码?

追答

msdn有例子 照写

如何用VB调用一个外部EXE程序
使用Shell函数函数。Shell函数是VB中的内部函数,它负责执行一个可执行文件,返回一个Variant(Double),如果成功的话,代表这个程序的进程ID,若不成功,则会返回0。Shell的语法:Shell(PathName[,WindowStyle])。PathName 为必需参数。类型为String,它指出了要执行的程序名,以及任何需要的参数或命令行变...

vb 调用另一个exe程序
可以用资源,或者附在主文件之后 vb(非简化版)的“外接程序”->“外接程序管理器”里把 资源编辑器 打开,然后把你的 A.exe 添加到资源里,运行时释放出来(用LoadResData)写入新的a.exe里就可以运行了 另一个思路差不多,把a.exe的数据写入b.exe之后(b程序中事先记下正常的b.exe的大小)...

如何使VB用shell运行一个程序后等运行的程序先退出后自己再退出?
'首先你先生成一个xx.exe '在工程里添加一个time,生成101.exe '把101.exe和xx.exe放在一个文件里,运行即可 '---复制代码即可(101.exe的代码)--- Const TH32CS_SNAPHEAPLIST = &H1 Const TH32CS_SNAPPROCESS = &H2 Const TH32CS_SNAPTHREAD = &H4 Const TH32CS_SNAPMODULE = &H8 Const ...

如何用VB调用外部的应用程序
使用Shell函数来调用外部的应用程序。Shell 函数 执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。Shell 函数示例本示例使用 Shell 函数来完成一个用户指定的应用程序。' 将第二个参数值设成 1,可让该程序以正常大小的窗口完成,并且拥...

我用VB做了个程序,我想让它每次开机都悄悄自动运行,代码怎么写
CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\" & App.Title, App.Path & "\\" & App.EXEName & ".exe", "REG_SZ"Set objWSH = Nothing End Sub '把上面的代码放到你的程序主窗口Form_Load过程中,程序一但运行一次后,下次开机就自动运行了。千万别用来做坏事哦~~~...

vb 如何关闭工程中调用的vb编译的exe文件
呵呵 关闭进程嘛,高手都用API,初学就用SHELL了 楼上说的是打开进程 shell "C:\\a.exe"关闭进程呢,用 shell "taskkill \/f \/im a.exe"就可以了 taskkill 是DOS用来关闭进程的一个命令 关于taskkill 的用法请在DOS命令提示符下打入taskkill \/?查看帮助....

在VB中怎样打开外部程序
shell "程序地址"如果需要用程序打开文件,比如说用播放器打开一个视频文件 那么写成 shell "c:\\program files\\kmplayer\\kmplayer.exe d:\\movie\\1.rm"这样就可用调用kmplayer播放器播放位于d盘 movie文件夹里面的1.rm视频文件了

在VB中,怎样调用外部文件中的代码?
Declare Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long Private Sub Command1_Click()WinExec "D:\/1\/123.txt", 10 msgbox"123456"End Sub End Sub Private Sub Command2_Click()WinExec "D:\\new\\BhoAdv\\FP9_ax.exe", 10 End Sub ...

求:vb如何让第一个程序运行后第2个程序自动运行啊?
在第一个程序的窗体上放一个timer代码如下 Private Sub Form_Load()Timer1.Interval = 3000 Timer1.Enabled = True End Sub Private Sub Timer1_Timer()Shell "c:\\asdf.exe" '你第二程序的路径 Timer1.Enabled =False End Sub 这样你第一个程序运行3秒后,启动第二个程序 ...

怎么用VB调用一个exe小程序,并向程序里面输入参数使程序触发并运行?
比如打开C:\\a.exe ,参数为abc ,则用空格隔开就行了。具体如下:shell "C:\\a.exe abc"如果那个小程序也是你做的,那么可以用Command接受参数:在Form_Load事件中加入:msgbox command 这样你打开这个小程序的时候就可以看到一个写着abc的对话框了 ...

相似回答