Методы объекта WScript

Объект WScript имеет несколько методов, которые описаны в табл. 5.3.

Таблица 5.3. Методы объекта WScript
Метод Описание
CreateObject(strProgID [, strPrefix]) Создает объект, заданный параметром strProgID
ConnectObject(strObject, strPrefix) Устанавливает соединение с объектом strObject, позволяющее писать функции-обработчики его событий (имена этих функций должны начинаться с префикса strPrefix )
DisconnectObject(obj) Отсоединяет объект obj, связь с которым была предварительно установлена в сценарии
Echo([Arg1] [, Arg2] [,…]) Выводит текстовую информацию на консоль или в диалоговое окно
GetObject(strPathname [, strProgID], [strPrefix]) Активизирует объект автоматизации, определяемый заданным файлом (параметр strPathName ) или объект, заданный параметром strProgID
Quit([intErrorCode]) Прерывает выполнение сценария с заданным параметром intErrorCode кодом выхода. Если параметр intErrorCode не задан, то объект WScript установит код выхода равным нулю
Sleep(intTime) Приостанавливает выполнения сценария (переводит его в неактивное состояние) на заданное параметром intTime число миллисекунд

Приведем дополнительные пояснения и примеры использования для методов, приведенных в табл. 5.3.

Метод CreateObject

Строковый параметр strProgID, указываемый в методе CreateObject, называется программным идентификатором объекта (Programmic Identifier, ProgID).

Если указан необязательный параметр strPrefix, то после создания объекта в сценарии можно обрабатывать события, возникающие в этом объекте (естественно, если объект предоставляет интерфейсы для связи с этими событиями). Когда объект сообщает о возникновении определенного события, сервер сценариев вызывает функцию, имя которой состоит из префикса strPrefix и имени этого события. Например, если в качестве strPrefix указано "MYOBJ_", а объект сообщает о возникновении события "OnBegin," то будет запущена функция "MYOBJ_OnBegin", которая должна быть описана в сценарии.

В следующем примере метод CreateObject используется для создания объекта WshNetwork:

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

Отметим, что объекты автоматизации из сценариев можно создавать и без помощи WSH. В JScript для этого используется объект ActiveXObject, например:

var WshNetwork = new ActiveXObject("WScript.Network");

В VBScript для создания объектов может использоваться специальная функция CreateObject, например:

Set WshNetwork = CreateObject("WScript.Network")

Однако организовать в сценарии обработку событий создаваемого объекта можно только при использовании метода WScript.CreateObject.

Метод ConnectObject

Объект, соединение с которым осуществляется с помощью метода ConnectObject, должен предоставлять интерфейс к своим событиям.

В следующем примере в переменной MyObject создается абстрактный объект "SomeObject", затем из сценария вызывается метод SomeMetod этого объекта. После этого устанавливается связь с переменной MyObject и задается префикс "MyEvent" для процедур обработки события этого объекта. Если в объекте возникнет событие с именем "Event", то будет вызвана функция MyEvent_Event. Метод DisconnectObject объекта WScript производит отсоединение объекта MyObject.

var MyObject = WScript.CreateObject("SomeObject");

MyObject.SomeMethod();

WScript.ConnectObject(MyObject,"MyEvent");

 

function MyEvent_Event(strName){

WScript.Echo(strName);

}

WScript.DisconnectObject(MyObject);

Метод Echo

Параметры Arg1, Arg2, … метода Echo задают аргументы для вывода. Если сценарий был запущен с помощью wscript.exe, то метод Echo направляет вывод в диалоговое окно, если же для выполнения сценария применяется cscript.exe, то вывод будет направлен на экран (консоль). Каждый из аргументов при выводе будет разделен пробелом. В случае использования cscript.exe вывод всех аргументов будет завершен символом новой строки. Если в методе Echo не задан ни один аргумент, то будет напечатана пустая строка.

Например, после выполнения сценария EchoExample.vbs (листинг 5.3) с помощью cscript.exe на экран будут выведены пустая строка, три числа и строка текста.

'*******************************************************************

'* Имя: EchoExample.vbs

'* Язык: VBScript

'* Описание: Использование метода WScript.Echo

'*******************************************************************

WScript.Echo 'Выводим пустую строку

WScript.Echo 1,2,3 'Выводим числа

WScript.Echo "Привет!" 'Выводим строку

'************* Конец *********************************************

Листинг 5.3. Использование метода WScript.Echo

Метод Sleep

В следующем примере сценарий переводится в неактивное состояние на 5 секунд:

'*******************************************************************

'* Имя: SleepExample.vbs

'* Язык: VBScript

'* Описание: Использование метода WScript.Sleep

'*******************************************************************

WScript.Echo "Сценарий запущен, отдыхаем…"

WScript.Sleep 5000

WScript.Echo "Выполнение сценария завершено"

'************* Конец *********************************************

Листинг 5.4. Использование метода WScript.Sleep

Метод Sleep необходимо применять при асинхронной работе сценария и какой-либо другой задачи, например, при имитации нажатий клавиш в активном окне с помощью метода WshShell.SendKeys.

Объект WshShell

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

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

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

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

Опишем теперь методы, имеющиеся у объекта WshShell (табл. 5.5).

Таблица 5.5. Методы объекта WshShell
Метод Описание
AppActivate(title) Активизирует заданное параметром title окно приложения. Строка title задает название окна (например, "calc" или "notepad" ) или идентификатор процесса ( Process ID, 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. Целочисленный параметр intType определяет тип сообщения, строка strMessage — текст сообщения. Параметр strTarget может задаваться только в Windows NT/2000/XP, он определяет название системы, в которой протоколируются события (по умолчанию это локальная система). Метод LogEvent возвращает true, если событие записано успешно и false в противном случае
Popup(strText,[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

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








Дата добавления: 2018-03-01; просмотров: 711;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.01 сек.