爱尚共享网

VB6运行外部可执行文件的模块

爱尚共享网2020-07-25学习资料 115 0A+A-

经常要在工程中调用执行外部程序,因此从网上收集了一个模块,使用方便,值得您一试。

Option Explicit

Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long


Public Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Long
    Dim pid As Long
    GetWindowThreadProcessId hwnd, pid
    If pid = lParam Then
        ShowWindow hwnd, vbHide
    End If
    EnumWindowsProc = 1
End Function

Public Function RunApp(ByVal sApp As String) As Boolean
On Error GoTo ErrHandle
    Dim pid As Long
    pid = Shell(sApp, vbHide)
    EnumWindows AddressOf EnumWindowsProc, pid
    RunApp = True
ErrHandle:
RunApp = False
End Function

调用示例:RunApp "c:\abc.exe",运行成功RunApp值为真,否则为假。


发表评论