[VB]Shell后执行

复制代码
Const SYNCHRONIZE = &H100000
Const INFINITE = &HFFFFFFFF

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 Sub Command1_Click()
    Dim pId As Long, pHnd As Long ' 分别声明 Process Id 及 Process Handle 变数
    Dim CVtemp As String, CVarray As Variant
    pId = Shell(App.Path & "\1.Exe", vbNormalFocus) ' Shell 传回 Process Id
    pHnd = OpenProcess(SYNCHRONIZE, 0, pId) ' 取得 Process Handle
    If pHnd <> 0 Then
        Call WaitForSingleObject(pHnd, INFINITE) ' 无限等待,直到程序结束
        Call CloseHandle(pHnd)
        MsgBox "OK"
    End If
    
End Sub
复制代码

 

posted @   猫弦奶昔  阅读(76)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示