tags:

views:

164

answers:

3
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run($cmd, 0, false);

I don't seem to find the document for this...

EDIT

Does it need some settings to enable it?I found the above script is not working whether setting the second parameter to true or false

+1  A: 

See here for full details. The second argument to Run is the window style (minimised, maximised, etc) and the third is whether to wait for the program to complete before continuing. The first is, of course, the program to run.


And copying the information here to make the answer self-contained:

object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])

object - WshShell object.
strCommand - String value indicating the command line you want to run. You must include any parameters you want to pass to the executable file.
intWindowStyle - Optional. Integer value indicating the appearance of the program's window. Note that not all programs make use of this information.
bWaitOnReturn - Optional. 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).

The window styles are:

 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.
paxdiablo
I'm confused by `Hides the window and activates another window`...What do the two windows here refer to?
@user, it just means the window you open will be hidden. As to what other window is activated, that's entirely up to Windows itself. There's a good chance it'll just be the windows that was active before your program ran but I can't guarantee that - Windows may follow all sorts of weird and wonderful rules in deciding that :-) The only thing you need concern yourself about is that the new window will be hidden.
paxdiablo
@paxdiablo,I found the script is not working whether I set the `bWaitOnReturn` to `true` or `false`
Is it disabled for web pages?
+2  A: 
Run(strCommand, [intWindowStyle], [bWaitOnReturn]) 
  • WindowStyle = 0 means "Hides the window and activates another window."
  • WaitOnReturn = false means "the Run method returns immediately after starting the program, automatically returning 0 (not to be interpreted as an error code)."

The full documentation for the Run Method is here: http://msdn.microsoft.com/en-us/library/d5fk67ky%28VS.85%29.aspx

plodoc
A: 

To quote from the above reference:

strCommand String value indicating the command line you want to run. You must include any parameters you want to pass to the executable file.

intWindowStyle Optional. Integer value indicating the appearance of the program's window. Note that not all programs make use of this information.

bWaitOnReturn Optional. 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).

Bernhard Hofmann