Андрей Попов - Windows Script Host для Windows 2000/XP
- Название:Windows Script Host для Windows 2000/XP
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2004
- Город:Санкт-Петербург
- ISBN:5-94157-197-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание
В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.
Windows Script Host для Windows 2000/XP - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Необязательный параметр 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).
/********************************************************************/
/* Имя: 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 специального смысла, их также нужно заключать в фигурные скобки. Кроме этого, для задания самих фигурных скобок следует использовать следующие конструкции: {{}
(левая скобка) и {}}
(правая скобка).
Для задания неотображаемых символов, таких как или и специальных клавиш, в методе SendKeys
используются коды, представленные в табл. 1.14.
Таблица 1.14.Коды специальных клавиш для SendKeys
Названия клавиш | Код | Названия клавиш | Код |
---|---|---|---|
{BACKSPACE} , {BS} или {BKSP} |
<���→> | {RIGHT} |
|
{BREAK} |
{F1} |
||
{CAPSLOCK} |
{F2} |
||
или | {DELETE} или {DEL} |
{F3} |
|
{END} |
{F4} |
||
{ENTER} ИЛИ ~ |
{F5} |
||
{ESC} |
{F6} |
||
{HELP} |
{F7} |
||
или | {INSERT} или {INS} |
{F8} |
|
{NUMLOCK} |
{F9} |
||
{PGDN} |
{F10} |
||
{PGUP} |
{F11} |
||
{PRTSC} |
{F12} |
||
{SCROLLLOCK} |
{F13} |
||
{TAB} |
{F14} |
||
<���↑> | {UP} |
{F15} |
|
<���←> | {LEFT} |
{F16} |
|
<���↓> | {DOWN} |
Для задания комбинаций клавиш с , или , перед соответствующей клавишей нужно поставить один или несколько кодов из табл. 1.15.
Таблица 1.15.Коды клавиш , и
Клавиша | Код |
---|---|
+ |
|
^ |
|
% |
Для того чтобы задать комбинацию клавиш, которую нужно набирать, удерживая нажатыми клавиши , <���Сtrl> или , нужно заключить коды этих клавиш в скобки. Например, если требуется сымитировать нажатие клавиш и при нажатой клавише , следует использовать последовательность " +(GS)
". Для того же, чтобы задать одновременное нажатие клавиш +, а затем (уже без ), используется " +GS
".
В методе SendKeys можно задать несколько нажатий подряд одной и той же клавиши. Для этого необходимо в фигурных скобках указать код нужной клавиши, а через пробел — число нажатий. Например, {LEFT 42}
означает нажатие клавиши <���←> 42 раза подряд; {h 10}
означает нажатие клавиши 10 раз подряд.
Метод SendKeys
не может быть использован для посылки нажатий клавиш для приложений, которые не были разработаны специально для запуска в Microsoft Windows (например, для приложений MS-DOS).
Примеры, иллюстрирующие использование SendKeys
, приведены в листингах 1.13, 2.31, 2.32.
Работа с ярлыками
Свойства и методы для работы с ярлыками Windows предоставляют два объекта WSH: WshShortcut
и WshUrlShortcut
.
Объект WshShortcut
С помощью объекта WshShortcut
можно создать новый ярлык Windows или изменить свойства уже существующего ярлыка. Этот объект можно создать только с помощью метода CreateShortcut
объекта WshShell
. В листинге 1.19 представлен пример сценария, в котором создается ярлык на этот самый сценарий (ярлык будет находиться в текущем каталоге).
/*****************************************************************/
/* Имя: MakeShortcut1.js */
/* Язык: JScript */
/* Описание: Создание ярлыка на выполняемый сценарий */
/*****************************************************************/
var WshShell,oShellLink;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Создаем ярлык в текущем каталоге
oShellLink = WshShell.CreateShortcut("Current Script.lnk");
//Устанавливаем путь к файлу
oShellLink.TargetPath = WScript.ScriptFullName;
//Сохраняем ярлык
oShellLink.Save();
/************* Конец *********************************************/
Свойства объекта WshShortcut
описаны в табл. 1.16.
Таблица 1.16.Свойства объекта WshShortcut
Свойство | Описание |
---|---|
Arguments |
Содержит строку, задающую параметры командной строки для ярлыка |
Description |
Содержит описание ярлыка |
FullName |
Содержит строку с полным путем к ярлыку |
HotKey |
Задает "горячую" клавишу для ярлыка, т.е. определяет комбинацию клавиш, с помощью которой можно запустить или сделать активной программу, на которую указывает заданный ярлык |
IconLocation |
Задает путь к значку ярлыка |
TargetPath |
Устанавливает путь к файлу, на который указывает ярлык |
WindowStyle |
Определяет вид окна для приложения, на которое указывает ярлык |
WorkingDirectory |
Задает рабочий каталог для приложения, на которое указывает ярлык |
Приведем необходимые пояснения и примеры использования свойств объекта WshShortcut
.
Интервал:
Закладка: