Windows Script Host для Windows 2000/XP
Шрифт:
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+")");
}
Листинг 2.28. Запуск и принудительное закрытие приложения (JScript)
/*******************************************************************/
/* Имя: 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; //Прерываем работу Блокнота
//Приостанавливаем выполнение сценария для того, чтобы Блокнот
//успел закрыться
WScript.Sleep(100);
WScript.Echo("Блокнот закрыт (Status="+theNotepad.Status+")");
}
/************* Конец *********************************************/
Тот же самый пример на языке VBScript приведен в листинге 2.29.
Листинr 2.29. Запуск и принудительное закрытие приложения (VBScript)
'*******************************************************************
' Имя: ExecWinApp.vbs
' Язык: VBScript
' Описание: Запуск и закрытие приложение (объект WshScriptExec)
'*******************************************************************
Option Explicit
Dim WshShell,theNotepad,Res,Text,Title ' Объявляем переменные
' Создаем объект WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Echo "Запускаем Блокнот"
' Запускаем приложение (создаем объект WshScriptExec)
Set theNotepad = WshShell.Exec("notepad")
WScript.Sleep 500 ' Приостанавливаем выполнение сценария
Text="Блокнот запущен (Status=" & theNotepad.Status & ")" & vbCrLf _
& "Закрыть Блокнот?"
Title=""
' Выводим диалоговое окно на экран
Res=WshShell.Popup(Text,0,Title,vbQuestion+vbYesNo)
' Определяем, какая кнопка нажата в диалоговом окне
If Res=vbYes Then
theNotepad.Terminate ' Прерываем работу Блокнота
' Приостанавливаем выполнение сценария для того, чтобы Блокнот
' успел закрыться
WScript.Sleep 100
WScript.Echo "Блокнот закрыт (Status=" & theNotepad.Status & ")"
End If
'************* Конец *********************************************/
Переключение между приложениями, имитация нажатий клавиш
Производить переключение между окнами нескольких запущенных приложений позволяет метод
AppActivate
объекта WshScript
. В качестве аргумента этого метода нужно указывать либо заголовок активизируемого окна, либо программный идентификатор (PID) процесса, который запущен в этом окне. Предпочтительным является использование PID, который можно получить с помощью свойства ProcessID
объекта WshScriptExec
, соответствующего активизируемому приложению. Недостатки применения в методе AppActivate
заголовка окна:
Поделиться:
Популярные книги
Черный Маг Императора 8
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я - злодейка в дораме. Сезон второй
2. Выжить в дораме
Фантастика:
уся
фэнтези
сянься
попаданцы
5.00
рейтинг книги
Ученик. Книга третья
3. Ученик
Фантастика:
фэнтези
7.64
рейтинг книги
Солнечный корт
4. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Геном хищника. Книга девятая
9. Я - Легенда!
Фантастика:
боевая фантастика
рпг
попаданцы
5.00
рейтинг книги
Перешагнуть пропасть
1. Перешагнуть пропасть
Фантастика:
боевая фантастика
космическая фантастика
8.38
рейтинг книги
Эпоха Опустошителя. Том VII
7. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Хозяин теней 2
2. Громов
Фантастика:
аниме
попаданцы
фэнтези
7.00
рейтинг книги
Целого Мира Мало
Любовные романы:
современные любовные романы
8.88
рейтинг книги
Хозяин Стужи 8
8. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Шайтан Иван 5
5. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
историческое фэнтези
5.00
рейтинг книги
Черта прикрытия
9. Культура
Фантастика:
боевая фантастика
космическая фантастика
киберпанк
6.67
рейтинг книги
Вернувшийся: Новая жизнь. Том I
1. Вернувшийся
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Я уже царь. Книга XXIX
29. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00