码迷,mamicode.com
首页 > 其他好文 > 详细

vb用createprocess启动其他应用程序

时间:2018-08-30 10:55:46      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:esc   应用   lap   其他   UNC   com   ica   create   win   

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的专栏

vb用createprocess启动其他应用程序

标签:esc   应用   lap   其他   UNC   com   ica   create   win   

原文地址:https://www.cnblogs.com/wgscd/p/9557846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!