vb用createprocess启动其他应用程序

页面导航:首页 > 软件编程 > vb.net > vb用createprocess启动其他应用程序

vb用createprocess启动其他应用程序

来源: 作者: 时间:2016-01-18 16:54 【

Option ExplicitPrivate Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessId As Long dwThreadId As LongEnd TypePrivate Type STARTUPINFO cb As Long lpReserved ...

 

Option Explicit

 

Private Type PROCESS_INFORMATION

        hProcess As Long

        hThread As Long

        dwProcessId As Long

        dwThreadId As Long

End Type

 

Private Type STARTUPINFO

        cb As Long

        lpReserved As String

        lpDesktop As String

        lpTitle As String

        dwX As Long

        dwY As Long

        dwXSize As Long

        dwYSize As Long

        dwXCountChars As Long

        dwYCountChars As Long

        dwFillAttribute As Long

        dwFlags As Long

        wShowWindow As Integer

        cbReserved2 As Integer

        lpReserved2 As Long

        hStdInput As Long

        hStdOutput As Long

        hStdError As Long

End Type

 

Private Type SECURITY_ATTRIBUTES

        nLength As Long

        lpSecurityDescriptor As Long

        bInheritHandle As Long

End Type

 

Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" ( _

  ByVal lpApplicationName As String, _

  ByVal lpCommandLine As String, _

  lpProcessAttributes As SECURITY_ATTRIBUTES, _

  lpThreadAttributes As SECURITY_ATTRIBUTES, _

  ByVal bInheritHandles As Long, _

  ByVal dwCreationFlags As Long, _

  lpEnvironment As Any, _

  ByVal lpCurrentDriectory As String, _

  lpStartupInfo As STARTUPINFO, _

  lpProcessInformation As PROCESS_INFORMATION) 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 Sub Command1_Click()

  Dim sInfo As STARTUPINFO

  Dim psInfo As PROCESS_INFORMATION

  Dim pAttr As SECURITY_ATTRIBUTES

  Dim tAttr As SECURITY_ATTRIBUTES

  Dim nRet As Long

  Dim nElapse As Integer

 

  nRet = CreateProcess("C:\Program Files (x86)\360\360zip\360zip.exe", "", pAttr, tAttr, 0, 0, 0, "c:\", sInfo, psInfo)

  If nRet = 0 Then Exit Sub

  nElapse = 0

  While 1 > 0

    nRet = WaitForSingleObject(psInfo.hProcess, 1000)

    If nRet = 0 Then

      MsgBox "Done!"

      Exit Sub

    End If

   

    Label1.Caption = CStr(nElapse)

    nElapse = nElapse + 1

    Sleep (1000)

    DoEvents

  Wend

 

 

End Sub

 

摘自 JOEL.LEE的专栏

Tags:

相关文章

    文章评论

    最 近 更 新
    热 点 排 行
    Js与CSS工具
    代码转换工具
    
    <