Чтение онлайн

на главную - закладки

Жанры

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
заголовка окна:

Поделиться:
Популярные книги

Двойник короля 12

Скабер Артемий
12. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 12

Последний реанорец. Том IX

Павлов Вел
8. Высшая Речь
Фантастика:
фэнтези
попаданцы
аниме
5.75
рейтинг книги
Последний реанорец. Том IX

Сильнейший Столп Империи. Книга 3

Ермоленков Алексей
3. Сильнейший Столп Империи
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Сильнейший Столп Империи. Книга 3

По прозвищу Святой. Книга первая

Евтушенко Алексей Анатольевич
1. Святой
Фантастика:
попаданцы
альтернативная история
6.40
рейтинг книги
По прозвищу Святой. Книга первая

Черный Маг Императора 9

Герда Александр
9. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 9

Большая книга о новой жизни, которую никогда не поздно начать (сборник)

Норбеков Мирзакарим Санакулович
Дом и Семья:
здоровье и красота
5.00
рейтинг книги
Большая книга о новой жизни, которую никогда не поздно начать (сборник)

Древесный маг Орловского княжества 4

Павлов Игорь Васильевич
4. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 4

Его звали Тони. Книга 5

Кронос Александр
5. Щенки косуль
Фантастика:
городское фэнтези
технофэнтези
попаданцы
7.00
рейтинг книги
Его звали Тони. Книга 5

Последний Паладин. Том 2

Саваровский Роман
2. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 2

Технарь

Муравьёв Константин Николаевич
1. Технарь
Фантастика:
космическая фантастика
попаданцы
7.13
рейтинг книги
Технарь

Неучтенный элемент. Том 1

NikL
1. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 1

Звездная Кровь. Экзарх III

Рокотов Алексей
3. Экзарх
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Звездная Кровь. Экзарх III

На границе империй. Том 7. Часть 2

INDIGO
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
На границе империй. Том 7. Часть 2

Выйду замуж за спасателя

Рам Янка
1. Спасатели
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Выйду замуж за спасателя