Андрей Попов - 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 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Например, команда
Control.exe Main.cpl, @0
вызовет диалоговое окно для настройки мыши (рис. 11.24).

Рис. 11.24.Модуль панели управления для настройки мыши
Если же выполнить команду
Control.exe Main.cpl, @1
то на экран будет выведено диалоговое окно для настройки клавиатуры (рис. 11.25).

Рис. 11.25.Модуль панели управления для настройки клавиатуры
Описание модулей панели управления для Windows ХР приведено в табл. 11.3 (в других версиях операционной системы количество имен и страниц может быть другим).
Таблица 11.3.Модули панели управления в Windows ХР
Модуль панели управления | Имя | Индекс | Описание |
---|---|---|---|
appwiz.cpl | — | 0…3 | Установка и удаление программ |
desk.cpl | — | 0…4 | Свойства экрана |
hdwwiz.cpl | — | — | Мастер установки оборудования |
inetcpl.cpl | — | 0…6 | Параметры браузера Internet Explorer |
intl.cpl | — | 0…2 | Языки и региональные стандарты |
joy.cpl | — | — | Установленные игровые устройства и их свойства |
main.cpl | @0, @1 | 0…4 | Параметры мыши и клавиатуры |
mmsys.cpl | — | 0…4 | Свойства аудиоустройств |
ncpa.cpl | — | — | Сетевые подключения |
nusrmgr.cpl | — | — | Учетные записи пользователей |
odbccp32.cpl | — | — | Администратор источников данных ODBC |
powercfg.cpl | — | — | Настройки управления электропитанием |
sysdm.cpl | @0, @1 | 0…6 | Свойства системы |
telephon.cpl | — | — | Телефонные подключения |
timedate.cpl | — | 0…1 | Установка даты и времени |
access.cpl | — | 0…5 | Настройка специальных возможностей |
AccessSetup.cpl | — | — | Установка пользователя по умолчанию |
Из сценариев WSH модули панели управления можно вызывать несколькими способами, два из которых мы рассмотрим ниже.
Запуск с помощью оболочки Windows
Для доступа к стандартным диалоговым окнам Windows и модулям панели управления нужно сначала создать экземпляр объекта-оболочки Windows:
//Создаем объект Shell.Application
Shell=WScript.CreateObject("Shell.Application");
Модули панели управления вызываются с помощью метода ControlPanelItem()
, в качестве параметра которого указывается имя соответствующего cpl-файла, например:
Shell.ControlPanelItem("Appwiz.cpl");
Если запустить ControlPanelItem()
без параметра, то откроется вся панель управления.
В листинге 11.13 приведен сценарий RunCPL.js, в котором происходит вызов некоторых модулей панели управления.
/*******************************************************************/
/* Имя: RunCPL.js */
/* Язык: JScript */
/* Описание: Вызов модулей панели управления с помощью */
/* объекта Shell.Application */
/*******************************************************************/
//Объявляем переменные
var
WshShell, //Экземпляр объекта WshShell
Shell, //Экземпляр объекта Shell.Application
Res; //Результат нажатия кнопок в диалоговом окне
//Инициализируем константы для диалоговых окон
var vbYesNo=4,vbQuestion=32,vbYes=6;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Создаем объект Shell.Application
Shell=WScript.CreateObject("Shell.Application");
//Выводим запрос
Res=WshShell.Popup("Открыть панель управления?",0,
"Вызов модулей панели управления",vbQuestion+vbYesNo);
if (Res==vbYes) //Нажата кнопка Да
//Выводим панель управления
Shell.ControlPanelItem("");
//Выводим запрос
Res=WshShell.Popup("Открыть окно установки и удаления программ?",0,
"Вызов модулей панели управления",vbQuestion+vbYesNo);
if (Res==vbYes) //Нажата кнопка Да
//Выводим окно установки и удаления программ
Shell.ControlPanelItem("Appwiz.cpl");
//Выводим запрос
Res=WshShell.Popup("Открыть окно установки даты и времени?",0,
"Вызов модулей панели управления",vbQuestion+vbYesNo);
if (Res==vbYes) //Нажата кнопка Да
//Выводим окно установки даты и времени
Shell.ControlPanelItem("TimeDate.cpl");
/************* Конец *********************************************/
Запуск с помощью системных функций Windows
Другим вариантом запуска модулей панели управления является использование специальных функций, находящихся в библиотечном файле shell32.dll. Хотя из сценариев нельзя напрямую вызывать системные функции Windows, для этой цели можно воспользоваться стандартной утилитой RunDll32.exe, которая позволяет запускать функции, хранящиеся в библиотечных dll-файлах. В свою очередь RunDll32.exe запускается в сценарии с помощью метода Run()
объекта WshShell
. В качестве параметров программы RunDll32.exe нужно через запятую указать имя dll-файла и имя вызываемой функции, например:
//Выводим окно установки Windows
WshShell.Run("Rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2");
Здесь мы вызываем функцию Control_RunDLL()
из файла shell32.dll. В качестве же параметров функции Control_RunDLL()
указываются через запятую название нужного cpl-файла, имя и индекс страницы модуля, которая будет выведена на передний план (в вышеприведенной команде вызывается страница с индексом 2 ("Установка Windows") из модуля appwiz.cpl ("Установка и удаление программ")).
В листинге 11.14 приведен сценарий RunCPL2.js, в котором вызовы модулей панели управления осуществляются с помощью запуска системных функций Windows.
/*******************************************************************/
/* Имя: RunCPL2.js */
/* Язык: JScript */
/* Описание: Вызов модулей панели управления с помощью */
/* вызовов системных функций */
/*******************************************************************/
//Объявляем переменные
var
WshShell, //Экземпляр объекта WshShell
Res; //Результат нажатия кнопок в диалоговом окне
//Инициализируем константы для диалоговых окон
var vbYesNo=4,vbQuestion=32,vbYes=6;
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
//Выводим запрос
Res=WshShell.Popup("Открыть панель управления?",0,
"Вызов модулей панели управления",vbQuestion+vbYesNo);
if (Res==vbYes) //Нажата кнопка Да
//Выводим панель управления
WshShell.Run("Rundll32.exe shell32.dll,Control_RunDLL");
//Выводим запрос
Res=WshShell.Popup("Открыть окно установки Windows?",0,
"Вызов модулей панели управления",vbQuestion+vbYesNo);
if (Res==vbYes) //Нажата кнопка Да
Интервал:
Закладка: