'Вызов модулей панели управления',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) //Нажата кнопка Да
//Выводим окно установки Windows
WshShell.Run('Rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2');
//Выводим запрос
Res=WshShell.Popup('Открыть окно установки даты и времени?',0,
'Вызов модулей панели управления',vbQuestion+vbYesNo);
if (Res==vbYes) //Нажата кнопка Да
//Выводим окно установки даты и времени
WshShell.Run('Rundll32.exe shell32.dll,Control_RunDLL timedate.cpl');
/************* Конец *********************************************/
Открытие папки в Проводнике Windows
С помощью объекта Shell.Application
можно запустить Проводник Windows и открыть в нем определенную папку. Для этого используется метод Explore()
, в качестве параметра которого указывается путь к открываемой папке; соответствующий пример приведен в листинге 11.15.
/*******************************************************************/
/* Имя: Explore.js */
/* Язык: JScript */
/* Описание: Открытие заданной папки в Проводнике Windows */
/*******************************************************************/
//Объявляем переменные
var
WshShell, //Экземпляр объекта WshShell
Shell, //Экземпляр объекта Shell.Application
SPath='C:\', //Путь к открываемой папке
Res; //Результат нажатия кнопок в диалоговом окне
//Инициализируем константы для диалоговых окон
var vbYesNo=4,vbQuestion=32,vbYes=6;