Книга: Windows Script Host для Windows 2000/XP
Метод Run
Разделы на этой странице:
Метод Run
Параметр intWindowStyle
устанавливает вид окна для запускаемого приложения (табл. 1.13).
Таблица 1.13. Типы окна (intWindowStyle
)
Параметр | Константа Visual Basic | Описание |
---|---|---|
0 | vbHide |
Прячет текущее окно и активизирует другое окно (показывает его и передает ему фокус) |
1 | vbNormalFocus |
Активизирует и отображает окно. Если окно было минимизировано или максимизировано, система восстановит его первоначальное положение и размер. Этот флаг должен указываться сценарием во время первого отображения окна |
2 | vbMinimizedFocus |
Активизирует окно и отображает его в минимизированном (свернутом) виде |
3 | vbMaximizedFocus |
Активизирует окно и отображает его в максимизированном (развернутом) виде |
4 | vbNormalNoFocus |
Отображает окно в том виде, в котором оно находилось последний раз. Активное окно при этом остается активным |
5 | Активизирует окно и отображает его в текущем состоянии | |
6 | vbMinimizedNoFocus | Минимизирует заданное окно и активизирует следующее (в Z-порядке) окно |
7 | Отображает окно в свернутом виде. Активное окно при этом остается активным | |
8 | Отображает окно в его текущем состоянии. Активное окно при этом остается активным | |
9 | Активизирует и отображает окно. Если окно было минимизировано или максимизировано, система восстановит его первоначальное положение и размер. Этот флаг должен указываться, если производится восстановление свернутого окна (его нельзя использовать в методе Run ) |
|
10 | Устанавливает режим отображения, опирающийся на режим программы, которая запускает приложение |
Замечание
В сценариях, написанных на языке VBScript, можно непосредственно использовать именованные константы типа vbHide
без предварительного их объявления. Для того чтобы использовать такие константы в JScript-сценариях, их нужно предварительно объявить как переменные и присвоить нужные значения (например, var vbHide=0;
). Естественно, в любых сценариях вместо имен констант можно использовать их числовые значения.
Необязательный параметр bWaitOnReturn
является логической переменной, дающей указание ожидать завершения запущенного процесса. Если этот параметр не указан или установлен в false
, то после запуска из сценария нового процесса управление сразу же возвращается обратно в сценарий (не дожидаясь завершения запущенного процесса). Если же bWaitOnReturn
установлен в true
, то сценарий возобновит работу только после завершения вызванного процесса.
При этом если параметр bWaitOnReturn
равен true
, то метод Run
возвращает код выхода вызванного приложения. Если же bWaitOnReturn
равен false
или не задан, то метод Run
всегда возвращает ноль.
В следующем примере мы запускаем Блокнот (notepad.exe) и открываем в нем файл с выполняемым сценарием:
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.Run("%windir%notepad" + WScript.ScriptFullName);
Следующий сценарий печатает код выхода вызванного приложения (листинг 1.18).
Листинг 1.18. Вывод кода выхода запущенного приложения
/********************************************************************/
/* Имя: RetCode.js */
/* Язык: JScript */
/* Описание: Вывод кода выхода запущенного приложения */
/********************************************************************/
//Создаем объект WshShell
var WshShell = WScript.CreateObject("WScript.Shell");
//Запускаем Блокнот и ожидаем завершения его работы
Return = WshShell.Run("notepad " + WScript.ScriptFullName, 1, true);
//Печатаем код возврата
WScript.Echo("Код возврата:", Return);
/************* Конец ***********************************************/
Другие примеры запуска приложений с помощью метода Run приведены в главе 2 (см. листинги 2.31 и 2.32).
- Chapter 2 Building and Deploying a Run-Time Image
- DiskExplorer от Runtime Software
- gbak BackupRunner
- Running Services at Bootup
- System Services and Runlevels
- Runlevel Definitions
- Booting into the Default Runlevel
- Booting to a Nondefault Runlevel with GRUB
- Running Services Through xinetd
- Changing Runlevels
- Troubleshooting Runlevel Problems
- Using cron to Run Jobs Repeatedly