Dela via


AppActivate Method 

Activates an application window.


object.AppActivate title 

Arguments

  • object
    WshShell object.
  • title
    Specifies which application to activate. This can be a string containing the title of the application (as it appears in the title bar) or the application's Process ID.

Remarks

The AppActivate method returns a Boolean value that identifies whether the procedure call is successful. This method changes the focus to the named application or window, but it does not affect whether it is maximized or minimized. Focus moves from the activated application window when the user takes action to change the focus (or closes the window).

In determining which application to activate, the specified title is compared to the title string of each running application. If no exact match exists, any application whose title string begins with title is activated. If an application still cannot be found, any application whose title string ends with title is activated. If more than one instance of the application named by title exists, one instance is arbitrarily activated.

Example

The following example demonstrates the use of a single .wsf file for two jobs in different script languages (VBScript and JScript). The functionality of both jobs is the same — each runs the Windows calculator and sends it keystrokes to execute a simple calculation.

The following example starts the Windows calculator and uses AppActivate to ensure that the calculator is at the top.

<package>

   <job id="vbs">

      <script language="VBScript">

         set WshShell = WScript.CreateObject("WScript.Shell")

         WshShell.Run "calc"

         WScript.Sleep 100

         WshShell.AppActivate "Calculator"

         WScript.Sleep 100

         WshShell.SendKeys "1{+}"

         WScript.Sleep 500

         WshShell.SendKeys "2"

         WScript.Sleep 500

         WshShell.SendKeys "~"

         WScript.Sleep 500

         WshShell.SendKeys "*3"

         WScript.Sleep 500

         WshShell.SendKeys "~"

         WScript.Sleep 2500

      </script>

   </job>



   <job id="js">

      <script language="JScript">

         var WshShell = WScript.CreateObject("WScript.Shell");

         WshShell.Run("calc");

         WScript.Sleep(100);

         WshShell.AppActivate("Calculator");

         WScript.Sleep(100);

         WshShell.SendKeys("1{+}");

         WScript.Sleep(500);

         WshShell.SendKeys("2");

         WScript.Sleep(500);

         WshShell.SendKeys("~");

         WScript.Sleep(500);

         WshShell.SendKeys("*3");

         WScript.Sleep(500);

         WshShell.SendKeys("~");

         WScript.Sleep(2500);

      </script>

   </job>

</package>

Applies To:

WshShell Object

See Also

Reference

SendKeys Method

Concepts

Running Your Scripts