Description
Runs a program in a new process.
PowerBASIC Syntax
METHOD Run ( _
BYVAL bstrCommand AS STRING, _
OPTIONAL BYREF vWindowStyle AS VARIANT, _
OPTIONAL BYREF vWaitOnReturn AS VARIANT _
) AS LONG
|
Usage
nExitCode = pIWshShell.Run(bstrCommand, vWindowStyle, vWaitOnReturn)
Arguments
bstrCommand
|
BSTR. String value indicating the command line you want to run. You must include any parameters you want to pass to the executable file.
|
vWindowStyle
|
Optional. VARIANT. Integer value indicating the appearance of the program's window. Note that not all programs make use of this information.
|
vWaitOnReturn
|
Optional. VARIANT. Boolean value indicating whether the script should wait for the program to finish executing before continuing to the next statement in your script. If set to true, script execution halts until the program finishes, and Run returns any error code returned by the program. If set to false (the default), the Run method returns immediately after starting the program, automatically returning 0 (not to be interpreted as an error code).
|
Return Value
LONG. The Run method returns a long value.
Remarks
The Run method starts a program running in a new Windows process. You can have your script wait for the program to finish execution before continuing. This allows you to run scripts and programs synchronously. Environment variables within the argument bstrCommand are automatically expanded. If a file type has been properly registered to a particular program, calling run on a file of that type executes the program. For example, if Word is installed on your computer system, calling Run on a *.doc file starts Word and loads the document. The following table lists the available settings for vWindowStyle.
WindowStyle
|
Description
|
0
|
Hides the window and activates another window.
|
1
|
Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
|
2
|
Activates the window and displays it as a minimized window.
|
3
|
Activates the window and displays it as a maximized window.
|
4
|
Displays a window in its most recent size and position. The active window remains active.
|
5
|
Activates the window and displays it in its current size and position.
|
6
|
Minimizes the specified window and activates the next top-level window in the Z order.
|
7
|
Displays the window as a minimized window. The active window remains active.
|
8
|
Displays the window in its current state. The active window remains active.
|
9
|
Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window.
|
10
|
Sets the show-state based on the state of the program that started the application.
|
Example [PowerBASIC]
The following example demonstrates the use of the SendKeys method. It runs the Windows calculator and sends it keystrokes to execute a simple calculation.
#INCLUDE
"WSHOM.INC"
LOCAL pWsh AS IWshShell2
LOCAL lExitCode AS LONG
pWsh
= NEWCOM "WScript.Shell"
lExitCode
= pWsh.Run(UCODE$("calc"))
SLEEP 100
pWsh.SendKeys
UCODE$("1{+}")
SLEEP 500
pWsh.SendKeys
UCODE$("2")
SLEEP 500
pWsh.SendKeys
UCODE$("~")
SLEEP 500
pWsh.SendKeys
UCODE$("*3")
SLEEP 500
pWsh.SendKeys
UCODE$("~")
SLEEP 2500
Example [PowerBASIC]
#INCLUDE
"WSHOM.INC"
DIM pWsh AS IWshShell
DIM lExitCode AS LONG
DIM vWindowStyle AS VARIANT
DIM vWaitOnReturn AS VARIANT
pWsh
= NEWCOM "WScript.Shell"
' Run Notepad and wait for the program to finish
vWindowStyle = %WshNormalFocus AS LONG
vWaitOnReturn = -1 AS INTEGER
lExitCode
= pWsh.Run(UCODE$("%windir%\notepad"), vWindowStyle, vWaitOnReturn)
' Opens a command window, changes the path to C:\, and executes the DIR command
lExitCode
= pWsh.Run(UCODE$("cmd /K CD C:\ & Dir"))
|