VB如何做到点击按钮执行某程序,执行完毕后弹出一个msgbox提示执行完毕

例如在Form1窗体里新建一个command1按钮,让其执行A.exe,执行完毕后弹出一个对话框提示执行完毕... 例如在Form1窗体里新建一个command1按钮,让其执行A.exe,执行完毕后弹出一个对话框提示执行完毕 展开
 我来答
华夏日长兴
2011-07-10 · TA获得超过9592个赞
知道大有可为答主
回答量:6305
采纳率:85%
帮助的人:3727万
展开全部
Private Sub Command1_Click()
Dim i As Integer
i = Shell("calc.exe")
If i > 0 Then
MsgBox "执行成功!", vbOKOnly + vbInformation, "系统提示"
End If
End Sub

这是打开windows计算器的代码,因为这是系统自带的,所以只输入了相对路径,如果要改成不是系统自带的程序,需要输入绝对路径
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qwq27
2011-07-10 · 超过12用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:0
展开全部
函数:Call Shell(PathName,WindowStyle)
或 a = Shell(PathName,WindowStyle) ,不需要声明.

注解:PathName 可以是程序路径(如相对路径 App.path +"\...\*.exe")、Windows 内置代号(如控制面板选项:Appwiz.cpl 即为添加删除程序,不过要结合 RunDLL32);WindowStyle 是窗口初始样式,如最大化、最小化等。

示例:
Private Sub Command1_Click()
Call Shell("c:\windows\explorer.exe", vbNormalFocus)
End Sub

提示消息的很简单了Msgbox"已调用",vbinformation
,加在 Call Shell("c:\windows\explorer.exe", vbNormalFocus)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Seneal
2011-07-10 · 超过22用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:63万
展开全部
Private Declare Function OpenProcess Lib "kernel32" _
( _
ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long _
) As Long

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 Const SYNCHRONIZE = &H100000
Private Const INFINITE = &HFFFFFFFF

Private Sub Command1_Click()
'Dim pId As Long
'声明pId变量存储Process Id
Dim pHnd As Long
'声明pHnd变量存储Process Handle
'pId = Shell("Notepad", vbNormalFocus)
'Shell传回Process Id
'pHnd = OpenProcess(SYNCHRONIZE, 0, pId)
'取得 Process Handle

pHnd = Shell_GetHnd("Notepad", vbNormalFocus)

If pHnd <> 0 Then
Call WaitForSingleObject(pHnd, INFINITE)
'无限等待,直到程序结束
Call CloseHandle(pHnd)
End If
MsgBox ("记事本已经关闭!")
End Sub
'参数PathName 就是你要运行的程序的名称
Private Function Shell_GetHnd(ByVal PathName As String, _
Optional WindowStyle As VbAppWinStyle = vbMaximizedFocus, _
Optional pID As Long) As Long
pID = Shell(PathName, WindowStyle)
Shell_GetHnd = OpenProcess(SYNCHRONIZE, 0, pID)
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bdb9803
2011-07-10 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部
执行外部程序不难,但是想知道外部程序是否结束就比较麻烦,可能需要进程查看的方法,具体你去查资料。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1c8fd2923d
2011-07-10 · TA获得超过1162个赞
知道小有建树答主
回答量:931
采纳率:0%
帮助的人:283万
展开全部
做弹窗,button里做script
追问
给代码呀,我才学VB
追答
 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式