Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-窗体/数据页

【Access示例】启动可执行并等待该文件执行结束

时 间:2019-03-08 08:30:20
作 者:缪炜   ID:24010  城市:江阴
摘 要:启动可执行并等待该文件执行结束
正 文:

主要代码:

Option Compare Database

Option Explicit

Private Declare Function ShellExecuteEx Lib "shell32.dll" Alias "ShellExecuteExA" (lpExecInfo As SHELLEXECUTEINFO) 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 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Type SHELLEXECUTEINFO
        cbSize As Long
        fMask As Long
        hwnd As Long
        lpVerb As String
        lpFile As String
        lpParameters As String
        lpDirectory As String
        nShow As Long
        hInstApp As Long
        lpIDList As Long
        lpClass As String
        hkeyClass As Long
        dwHotKey As Long
        hIcon As Long
        hProcess As Long
End Type

Public Function RunProc(CommandLine As String) As Boolean
    Dim ShellInfo As SHELLEXECUTEINFO
    With ShellInfo
        .cbSize = Len(ShellInfo)
        .hwnd = GetDesktopWindow
        .lpVerb = "open"
        .lpFile = CommandLine
        .nShow = vbNormalFocus
        .fMask = 64
    End With
    ShellExecuteEx ShellInfo
    If ShellInfo.hInstApp <= 32 Then
        MsgBox "无法打开" & CommandLine & "!", vbOKCancel + vbExclamation, "运行错误"
        RunProc = False
    Else
        Sleep 1000
        WaitForSingleObject ShellInfo.hProcess, 99999999
        CloseHandle ShellInfo.hProcess
        RunProc = True
    End If
End Function


下载附件:

点击下载此附件


图片演示:

点击图片查看大图



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助