Метод Run
AppActivate), ни свернуть или развернуть его.Другим вариантом запуска из сценария приложения Windows является применение метода Exec
WshScriptExec.Например:
var WshShell = WScript.CreateObject("WScript.Shell");
var theNotepad = WshShell.Exec("calc");
При подобном запуске приложения, в отличие от метода Run
Объект WshScriptExec
Status — если Status равен 0, то приложение выполняется, если Status равен 1, то приложение завершено. Кроме этого, используя метод Terminate, можно принудительно завершить работу того приложения, которому соответствует объект WshScriptExec.В листинге 2.28 приведен сценарий на языке JScript, в котором с помощью метода Exec запускается Блокнот (notepad.exe); ссылка на соответствующий объект WshScriptExec
theNotepad:theNotepad = WshShell.Exec("notepad");
После этого выполнение сценария приостанавливается на 1 секунду (пауза необходима для того, чтобы окно Блокнота успело появиться на экране), после чего выводится диалоговое окно с информацией о статусе запущенного приложения и вопросом о необходимости закрытия Блокнота (рис. 2.11):
WScript.Sleep(1000);
Text="Блокнот запущен(Status="+theNotepad.Status+")\nЗакрыть Блокнот?";
Title="";
Res=WshShell.Popup(Text, 0, Title, vbQuestion+vbYesNo);
Рис. 2.11.
Диалоговое окно, формируемое в сценарии ExecWinApp.jsВ случае утвердительного ответа происходит закрытие Блокнота с помощью метода Terminate:
if (Res==vbYes) {
theNotepad.Terminate();
WScript.Sleep(100);
WScript.Echo("Блокнот закрыт (Status="+theNotepad.Status+")");
}
/*******************************************************************/
/* Имя: ExecWinApp.js */
/* Язык: JScript */
/* Описание: Запуск и закрытие приложения (объект WshScriptExec) */
/*******************************************************************/
var WshShell,theNotepad,Res,Text,Title; //Объявляем переменные
//Инициализируем константы для диалоговых окон
var vbYesNo=4,vbQuestion=32,vbYes=6,vbNo=7;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
WScript.Echo("Запускаем Блокнот");
//Запускаем приложение (создаем объект WshScriptExec)
theNotepad = WshShell.Exec("notepad");
WScript.Sleep(1000); //Приостанавливаем выполнение сценария
Text="Блокнот запущен (Status="+theNotepad.Status+")\nЗакрыть Блокнот?";
Title="";
//Выводим диалоговое окно на экран
Res=WshShell.Popup(Text,0,Title,vbQuestion+vbYesNo);
//Определяем, какая кнопка нажата в диалоговом окне
if (Res==vbYes) {
theNotepad.Terminate(); //Прерываем работу Блокнота
//Приостанавливаем выполнение сценария для того, чтобы Блокнот