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

ЖАНРЫ

Windows Script Host для Windows 2000/XP

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

Шрифт:

 Res,IsError;

//Инициализируем константы для диалоговых окон

var vbYesNo=4,vbQuestion=32,vbInformation=64,vbYes=6,vbOkOnly=0,

 vbCritical=16;

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

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

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

FSO = WScript.CreateObject("Scripting.FileSystemObject");

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

WshFldrs=WshShell.SpecialFolders;

//Определяем путь к папке выборочной автозагрузки

SHomePath=WshFldrs.item("MyDocuments");

//Определяем
имя пользователя

SUserName=WshShell.ExpandEnvironmentStrings("%UserName%");

//Формируем полный путь к каталогу с резервными копиями документов

//пользователя

SBackupPath+=SUserName;

//Запрос на создание резервной копии

Res=WshShell.Popup("Выполнить резервное копирование документов в\n"+

 SBackupPath+" ?", 0, "Выход пользователя "+SUserName, vbQuestion+vbYesNo);

if (Res==vbYes) { //Нажата кнопка Да

 IsError=false;

 try {

//Производим копирование каталога

FSO.CopyFolder(SHomePath,SBackupPath);

 } catch (e) { //Обрабатываем возможные ошибки

if (e != 0) {

//Выводим сообщение об ошибке

IsError=true;

Mess="Ошибка при копировании каталога "+SHomePath+"\nКод ошибки: "+

e.number+"\nОписание: "+e.description;

WshShell.Popup(Mess,0,"Выход пользователя "+SUserName,vbCritical);

}

 }

 if (!IsError) {

//Все в порядке

Mess="Копирование документов произведено";

WshShell.Popup(Mess,0,"Выход пользователя "+SUserName,vbInformation);

 }

}

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

Вызов системных функций и стандартных диалоговых окон оболочки Windows

Из сценариев WSH можно выводить на экран стандартные диалоговые окна Windows (например, Выполнить (Run)) и модули панели управления (например, Установка даты и времени (Date/Time)). Для этого используются системные функции Windows (API-функции) и объект

Shell.Application
, который позволяет получить доступ к оболочке Windows.

Конкретные примеры применения системных функций и методов объекта-оболочки Windows приведены ниже.

Вызов модулей панели управления

Напомним, что в Windows ХР модули панели управления хранятся в каталоге %SystemRoot%\System32 в нескольких файлах с расширением cpl. Эти модули можно вывести на экран с помощью утилиты Control.exe, запустив ее из командной строки или из меню Выполнить (Run) с тремя параметрами (два из них необязательны):

Control.exe File.cpl,[Name],[Page]

Здесь

File.cpl
— название cpl-файла;
Name
— имя модуля;
Page
— номер страницы в диалоговом окне, которая будет выведена на передний план.

Например, команда

Control.exe Main.cpl, @0

вызовет диалоговое окно для настройки мыши (рис. 11.24).

< image l:href="#"/>

Рис. 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, в котором происходит вызов некоторых модулей панели управления.

Листинг 11.13. Вызов модулей панели управления с помощью оболочки Windows

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

/* Имя: RunCPL.js */

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