running cmd window minimized (1 Viewer)

drb555

Registered User.
Local time
Today, 13:25
Joined
Jul 10, 2013
Messages
19
I am using the following code to open a cmd window and wait while it executes, but I would like to run the cmd window minimized but cannot work out how to do that

Code:
Option Compare Database

Option Explicit

      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 PROCESS_INFORMATION
         hProcess As Long
         hThread As Long
         dwProcessID As Long
         dwThreadID As Long
      End Type

      Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal _
         hHandle As Long, ByVal dwMilliseconds As Long) As Long

      Private Declare Function CreateProcessA Lib "kernel32" (ByVal _
         lpApplicationName As Long, ByVal lpCommandLine As String, ByVal _
         lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, _
         ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, _
         ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, _
         lpStartupInfo As STARTUPINFO, lpProcessInformation As _
         PROCESS_INFORMATION) As Long

      Private Declare Function CloseHandle Lib "kernel32" (ByVal _
         hObject As Long) As Long

      Private Const NORMAL_PRIORITY_CLASS = &H20&
      Private Const INFINITE = -1&
                    
Public Sub ExecCmd(cmdline$)
         Dim proc As PROCESS_INFORMATION
         Dim start As STARTUPINFO
         Dim ReturnValue As Integer

         ' Initialize the STARTUPINFO structure:
         start.cb = Len(start)

         ' Start the shelled application:
        ReturnValue = CreateProcessA(0&, cmdline$, 0&, 0&, 1&, NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)

         ' Wait for the shelled application to finish:
         Do
            ReturnValue = WaitForSingleObject(proc.hProcess, 0)
            DoEvents
            Loop Until ReturnValue <> 258

         ReturnValue = CloseHandle(proc.hProcess)
      End Sub
It is being run from a button on a form in access 2000 that gives the following output

Code:
dim strcmd as string
strcmd = get_iplayer.cmd  --pid=b00cjsgz > f:\PIDOutput.txt

ExecCmd strcmd
if anyone can offer a few pointers on how to change the cmd window style it would be much appreciated
 

smig

Registered User.
Local time
Today, 13:25
Joined
Nov 25, 2009
Messages
2,209
Any reason to run it minimized ?
 

drb555

Registered User.
Local time
Today, 13:25
Joined
Jul 10, 2013
Messages
19
Any reason to run it minimized ?
yes the window gets in the way of the information that comes up on the forms caption.
I have found another shell and wait module that allows me to set the window style, but it would still be nice to find out if this one can change window style as well
 

Users who are viewing this thread

Top Bottom