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

ЖАНРЫ

Windows Script Host для Windows 2000/XP

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

Шрифт:

В случае, когда

strType
установлено в "
REG_SZ
" или "
REG_EXPAND_SZ
", метод
RegWrite
автоматически конвертирует параметр
anyValue
в строку. Если значение
strType
равно "
REG_DWORD
", то
anyValue
переводится в целый формат. Если strType равно "
REG_BINARY
", то
anyValue
должно быть целым числом.

Пример, иллюстрирующий применение метода RegWrite, приведен в главе 2 (см. листинги 2.45 и 2.46).

Метод Run

Параметр

intWindowStyle
устанавливает вид окна для запускаемого приложения (табл. 1.13).

Таблица 1.13.

Типы окна (
intWindowStyle
)

Параметр Константа Visual Basic Описание
0
vbHide
Прячет текущее окно и активизирует другое окно (показывает его и передает ему фокус)
1
vbNormalFocus
Активизирует и отображает окно. Если окно было минимизировано или максимизировано, система восстановит его первоначальное положение и размер. Этот флаг должен указываться сценарием во время первого отображения окна
2
vbMinimizedFocus
Активизирует окно и отображает его в минимизированном (свернутом) виде
3
vbMaximizedFocus
Активизирует окно и отображает его в максимизированном (развернутом) виде
4
vbNormalNoFocus
Отображает окно в том виде, в котором оно находилось последний раз. Активное окно при этом остается активным
5   Активизирует окно и отображает его в текущем состоянии
6 vbMinimizedNoFocus Минимизирует заданное окно и активизирует следующее (в Z-порядке) окно
7   Отображает окно в свернутом виде. Активное окно при этом остается активным
8   Отображает окно в его текущем состоянии. Активное окно при этом остается активным
9   Активизирует и отображает окно. Если окно было минимизировано или максимизировано, система восстановит его первоначальное положение и размер. Этот флаг должен указываться, если производится восстановление свернутого окна (его нельзя использовать в методе
Run
)
10   Устанавливает режим отображения, опирающийся на режим программы, которая запускает приложение
Замечание

В сценариях, написанных на языке VBScript, можно непосредственно использовать именованные константы типа

vbHide
без предварительного их объявления. Для того чтобы использовать такие константы в JScript-сценариях, их нужно предварительно объявить как переменные и присвоить нужные значения (например,
var vbHide=0;
). Естественно, в любых сценариях вместо имен констант можно использовать их числовые значения.

Необязательный параметр

bWaitOnReturn
является логической переменной, дающей указание ожидать завершения запущенного процесса. Если этот параметр не указан или установлен в
false
, то после запуска из сценария нового процесса управление сразу же возвращается обратно в сценарий (не дожидаясь завершения запущенного процесса). Если же
bWaitOnReturn
установлен в
true
, то сценарий возобновит работу только после завершения вызванного процесса.

При этом если параметр

bWaitOnReturn
равен
true
, то метод
Run
возвращает код выхода вызванного приложения. Если же
bWaitOnReturn
равен
false
или не задан, то метод
Run
всегда возвращает ноль.

В следующем примере мы запускаем Блокнот (notepad.exe) и открываем в нем файл с выполняемым сценарием:

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

WshShell.Run("%windir%\\notepad" + WScript.ScriptFullName);

Следующий сценарий печатает код выхода вызванного приложения (листинг 1.18).

Листинг 1.18. Вывод кода выхода запущенного приложения

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

/* Имя: RetCode.js */

/* Язык: JScript */

/* Описание: Вывод кода выхода запущенного приложения */

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

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

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

//Запускаем Блокнот и ожидаем завершения его работы

Return = WshShell.Run("notepad " + WScript.ScriptFullName, 1, true);

//Печатаем код возврата

WScript.Echo("Код возврата:", Return);

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

Другие примеры запуска приложений с помощью метода Run приведены в главе 2 (см. листинги 2.31 и 2.32).

Метод SendKeys

Каждая

клавиша задается одним или несколькими символами. Например, для того чтобы задать нажатие друг за другом букв А, Б и В, нужно указать в качестве параметра для
SendKeys
строку "
АБВ
":
string="AБB"
.

Несколько символов имеют в методе SendKeys специальное значение:

+
,
^
,
%
,
~
,
(
,
)
. Для того чтобы задать один из этих символов, их нужно заключить в фигурные скобки
{}
. Например, для задания знака плюс используется
{+}
. Квадратные скобки
[]
хотя и не имеют в методе SendKeys специального смысла, их также нужно заключать в фигурные скобки. Кроме этого, для задания самих фигурных скобок следует использовать следующие конструкции:
{{}
(левая скобка) и
{}}
(правая скобка).

Для задания неотображаемых символов, таких как <Enter> или <Tab> и специальных клавиш, в методе

SendKeys
используются коды, представленные в табл. 1.14.

Таблица 1.14. Коды специальных клавиш для

SendKeys

Названия клавиш Код Названия клавиш Код
<Backspace>
{BACKSPACE}
,
{BS}
или
{BKSP}
<->>
{RIGHT}
<Break>
{BREAK}
<F1>
{F1}
<Caps Lock>
{CAPSLOCK}
<F2>
{F2}
<Del> или <Delete>
{DELETE}
или
{DEL}
<F3>
{F3}
<End>
{END}
<F4>
{F4}
<Enter>
{ENTER}
ИЛИ
~
<F5>
{F5}
<Esc>
{ESC}
<F6>
{F6}
<Home>
{HELP}
<F7>
{F7}
<Ins> или <Insert>
{INSERT}
или
{INS}
<F8>
{F8}
<Num Lock>
{NUMLOCK}
<F9>
{F9}
<Page Down>
{PGDN}
<F10>
{F10}
<Page Up>
{PGUP}
<F11>
{F11}
<Print Screen>
{PRTSC}
<F12>
{F12}
<Scroll Lock>
{SCROLLLOCK}
<F13>
{F13}
<Tab>
{TAB}
<F14>
{F14}
<^>
{UP}
<F15>
{F15}
<<->
{LEFT}
<F16>
{F16}
<V> {DOWN}    

Для задания комбинаций клавиш с <Shift>, <Ctrl> или <Alt>, перед соответствующей клавишей нужно поставить один или несколько кодов из табл. 1.15.

Таблица 1.15. Коды клавиш <Shift>, <Ctrl> и <Alt>

Клавиша Код
<Shift>
+
<Ctrl>
^
<Alt>
%
Поделиться с друзьями: