Private Function RunProcess(GetExePath$, GetCommandLine$, GetFileName$) On Error GoTo RunProcess_Err Dim udtProcessAttributes As SECURITY_ATTRIBUTES Dim udtThreadAttributes As SECURITY_ATTRIBUTES Dim strCurrentDriectory As String Dim udtStartupInfo As STARTUPINFO Dim udtProcessInfomation As PROCESS_INFORMATION Dim lngProcessExitCode As Long Dim lngWin32apiResultCode As Long stbMain.Panels(1).Text = GetFileName$ & " ************ しばらくお待ち下さい。" dtProcessAttributes.nLength = Len(udtProcessAttributes) udtThreadAttributes.nLength = Len(udtThreadAttributes) strCurrentDriectory = vbNullString udtStartupInfo.cb = Len(udtStartupInfo) lngWin32apiResultCode = CreateProcess(GetExePath$, GetCommandLine$, udtProcessAttributes, udtThreadAttributes, False, 0, ByVal vbNullString, strCurrentDriectory, udtStartupInfo, udtProcessInfomation) If lngWin32apiResultCode <> 0 Then Do With udtProcessInfomation lngWin32apiResultCode = GetExitCodeProcess(.hProcess, lngProcessExitCode) End With DoEvents Loop While lngProcessExitCode = STILL_ACTIVE Else End If