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

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

Жанры

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

/* Имя: DefPrn.js */

/* Язык: JScript */

/* Описание: Установка принтера по умолчанию */

/*******************************************************************/

//Создаем объект WshNetwork

var WshNetwork = WScript.CreateObject("WScript.Network");

//Подключаем к LPT1 сетевой принтер \\Server1\Epson

WshNetwork.AddPrinterConnection("LPT1:","\\Server1\Epson");

//Устанавливаем принтер по умолчанию

WshNetwork.SetDefaultPrinter("\\Server1\Epson");

/************* Конец *********************************************/

Другие примеры, иллюстрирующие использование объекта

WshNetwork
, приведены в главе 2 (см. листинги 2.47–2.52).

Объект WshShell

С помощью объекта

WshShell
можно запускать новый процесс, создавать ярлыки, работать с системным реестром, получать доступ к переменным среды и специальным папкам Windows. Создается этот объект следующим образом:

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

Объект

WshShell
имеет три свойства, которые приведены в табл. 1.7.

Таблица 1.7. Свойства объекта

WshShell

Свойство Описание
CurrentDirectory
Здесь хранится полный путь к текущему каталогу (к каталогу, из которого был запущен сценарий)
Environment
Содержит объект
WshEnvironment
, который обеспечивает доступ к переменным среды операционной системы для Windows NT/2000/XP или к переменным среды текущего командного окна для Windows 9х
SpecialFolders
Содержит объект
WshSpecialFolders
для доступа к специальным папкам Windows (рабочий стол, меню Пуск (Start) и т.д.)

Опишем теперь методы, имеющиеся у объекта

WshShell
(табл. 1.8).

Таблица 1.8. Методы объекта

WshShell

Метод Описание
AppActivate(title)
Активизирует заданное параметром
title
окно приложения. Строка
title
задает название окна (например, "calc" или "notepad") или идентификатор процесса (ProcessID, PID)
CreateShortcut(strPathname)
Создает объект
WshShortcut
для связи с ярлыком Windows (расширение lnk) или объект
WshUrlShortcut
для связи с сетевым ярлыком (расширение url). Параметр
strPathname
задает полный путь к создаваемому или изменяемому ярлыку
Environment(strType)
Возвращает объект
WshEnvironment
, содержащий переменные среды заданного вида
Exec(strCommand)
Создает новый дочерний процесс, который запускает консольное приложение, заданное параметром
strCommand
.
В результате возвращается объект
WshScriptExec
, позволяющий контролировать ход выполнения запущенного приложения и обеспечивающий доступ к потокам
StdIn
,
StdOut
и
StdErr
этого приложения
ExpandEnvironmentStrings(strString)
Возвращает значение переменной среды текущего командного окна, заданной строкой
strString
(имя переменной должно быть окружено знаками "%")
LogEvent(intType, strMessage [ ,strTarget])
Протоколирует события в журнале Windows NT/2000/XP или в файле WSH.log. Целочисленный параметр
intТуре
определяет тип сообщения, строка
strMessage
— текст сообщения. Параметр
strTarget
может задаваться только в Windows NT/2000/XP, он определяет название системы, в которой протоколируются события (по умолчанию это локальная система). Метод
LogEvent
возвращает
true
, если событие записано успешно и
false
в противном случае
Popup(strТехt, [nSecToWait] , [strTitle], [nType])
Выводит на экран информационное окно с сообщением, заданным параметром
strText
.
Параметр
nSecToWait
задает количество секунд, по истечении которых окно будет автоматически закрыто, параметр
strTitle
определяет заголовок окна, параметр
nType
указывает тип кнопок и значка для окна
RegDelete(strName)
Удаляет из системного реестра заданный параметр или раздел целиком
RegRead(strName)
Возвращает значение параметра реестра или значение по умолчанию для раздела реестра
RegWrite(strName, anyValue [,strType])
Записывает в реестр значение заданного параметра или значение по умолчанию для раздела
Run(strCommand, [intWindowStyle], [bWaitOnReturn])
Создает новый независимый процесс, который запускает приложение, заданное параметром
strCommand
SendKeys(string)
Посылает одно или несколько нажатий клавиш в активное окно (эффект тот же, как если бы вы нажимали эти клавиши на клавиатуре)
SpecialFolders(strSpecFolder)
Возвращает строку, содержащую путь к специальной папке Windows, заданной параметром
strSpecFolder

Рассмотрим методы, приведенные в табл. 1.8, более подробно.

Метод АррActivate

Метод

AppActivate
активизирует уже запущенное указанное приложение (устанавливает на него фокус), но не производит никаких действий по изменению размеров его окна. Для того чтобы первоначально запустить нужное приложение и определить вид его окна, следует использовать метод
Run
объекта
WshShell
. Для того чтобы определить, какое именно приложение необходимо активизировать, строка
title
сравнивается по очереди с названиями окон всех запущенных приложений. Если не найдено ни одного точного совпадения, будет производиться поиск того приложения, название окна которого начинается со строки
title
. Если и в этом случае не будет найдено ни одного подходящего приложения, то будет вестись поиск приложения, заголовок которого заканчивается на эту строку. Если будет найдено несколько подходящих окон, то произойдет активизация одного из них (окно выбирается произвольно).

В качестве примера использования метода

AppActivate
в листинге 1.13 приведен сценарий RunCalc.js, который запускает стандартный калькулятор Windows и выполняет в нем несколько простых арифметических действий (для этого используется метод
SendKeys
).

Листинг 1.13. Сценарий RunCalc.js

/*****************************************************************/

/* Имя: RunCalc.js */

/* Язык: JScript */

/* Описание: Активизация приложения с помощью имени окна */

/*****************************************************************/

//Создаем объект WshShell

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

//Запускаем Калькулятор

WshShell.Run("calc");

//Приостанавливаем сценарий на 0,1 секунды

WScript.Sleep(100);

//Активизируем Калькулятор

WshShell.AppActivate("Calculator");

//Приостановка сценария на 0,1 секунды

WScript.Sleep(100);

//Посылаем нажатия клавиш в Калькулятор

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

WScript.Sleep(500);

WshShell.SendKeys("2");

WScript.Sleep(500);

WshShell.SendKeys("~");

WScript.Sleep(2500);

/************* Конец *********************************************/

В главе 2 приведены другие примеры использования метода

AppActivate
(см. листинги 2.31 и 2.32).

Метод CreateShortcut

Этот метод позволяет создать новый или открыть уже существующий ярлык для изменения его свойств. 

В листинге 1.14 приведен пример сценария, в котором создаются два ярлыка — на сам выполняемый сценарий (объект

oShellLink
и на сетевой ресурс (
oUrlLink
).

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

Санкт-Петербург. Автобиография

Королев Кирилл Михайлович
Научно-образовательная:
история
5.00
рейтинг книги
Санкт-Петербург. Автобиография

Гильдия

Голотвина Ольга Владимировна
Гильдия
Фантастика:
боевая фантастика
5.25
рейтинг книги
Гильдия

Лондон. Биография

Акройд Питер
Научно-образовательная:
история
7.50
рейтинг книги
Лондон. Биография

Виктор Глухов агент Ада. Компиляция. Книги 1-15

Сухинин Владимир Александрович
Виктор Глухов агент Ада
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Виктор Глухов агент Ада. Компиляция. Книги 1-15

Книга 16. Каббалистический форум (старое издание)

Лайтман Михаэль Семенович
Научно-образовательная:
прочая научная литература
религиоведение
5.00
рейтинг книги
Книга 16. Каббалистический форум (старое издание)

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

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

Правда о Григории Распутине

Боханов Александр Николаевич
Научно-образовательная:
история
5.00
рейтинг книги
Правда о Григории Распутине

"Фантастика 2024-65". Компиляция. Книги 1-23

Призывающий Оро
Фантастика 2024. Компиляция
Фантастика:
фэнтези
боевая фантастика
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Фантастика 2024-65. Компиляция. Книги 1-23

Перекрестья

Вилсон Фрэнсис Пол
7. Наладчик Джек
Фантастика:
ужасы и мистика
8.11
рейтинг книги
Перекрестья

Образ врага

Дашкова Полина Викторовна
Детективы:
триллеры
прочие детективы
8.32
рейтинг книги
Образ врага

Враг из прошлого тысячелетия

Еслер Андрей
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.25
рейтинг книги
Враг из прошлого тысячелетия

Петербург - нуар. Рассказы

Кивинов Андрей Владимирович
Проза:
современная проза
5.40
рейтинг книги
Петербург - нуар. Рассказы

Чернильный орешек

Хэррод-Иглз Синтия
4. Династия Морлэндов
Приключения:
исторические приключения
7.70
рейтинг книги
Чернильный орешек

Война. Krieg. 1941—1945. Произведения русских и немецких писателей

Быков Василий Владимирович
Проза:
военная проза
5.00
рейтинг книги
Война. Krieg. 1941—1945. Произведения русских и немецких писателей