KnigaRead.com/

Андрей Попов - Windows Script Host для Windows 2000/XP

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Андрей Попов, "Windows Script Host для Windows 2000/XP" бесплатно, без регистрации.
Перейти на страницу:

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.

Листинг 11.14. Вызов модулей панели управления с помощью вызовов системных функций

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

/* РРјСЏ: 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.

Листинг 11.15. Открытие заданной папки в Проводнике Windows

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

/* РРјСЏ: Explore.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В  */

/* Язык: JScript                                                   */

/* Описание: Открытие заданной папки в Проводнике Windows          */

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

//Объявляем переменные

var

 WshShell,     //Экземпляр объекта WshShell

 Shell,        //Экземпляр объекта Shell.Application

 SPath="C:\", //Путь к открываемой папке

 Res;          //Результат нажатия кнопок в диалоговом окне

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

var vbYesNo=4,vbQuestion=32,vbYes=6;

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

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

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*