Андрей Попов - 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.
Интервал:
Закладка: