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

на главную

Жанры

Windows Script Host для Windows 2000/XP

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

Шрифт:

 "Вызов модулей панели управления",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 */

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

Поделиться:
Популярные книги

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Метатель. Книга 2

Тарасов Ник
2. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель. Книга 2

Безумный Макс. Ротмистр Империи

Ланцов Михаил Алексеевич
2. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
4.67
рейтинг книги
Безумный Макс. Ротмистр Империи

Болотник

Панченко Андрей Алексеевич
1. Болотник
Фантастика:
попаданцы
альтернативная история
6.50
рейтинг книги
Болотник

Темный Лекарь 6

Токсик Саша
6. Темный Лекарь
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Темный Лекарь 6

Архил...? Книга 2

Кожевников Павел
2. Архил...?
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Архил...? Книга 2

Целитель

Первухин Андрей Евгеньевич
1. Целитель
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Целитель

Ты всё ещё моя

Тодорова Елена
4. Под запретом
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Ты всё ещё моя

Зауряд-врач

Дроздов Анатолий Федорович
1. Зауряд-врач
Фантастика:
альтернативная история
8.64
рейтинг книги
Зауряд-врач

Авиатор: назад в СССР

Дорин Михаил
1. Авиатор
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Авиатор: назад в СССР

Мастер 3

Чащин Валерий
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 3

Фараон

Распопов Дмитрий Викторович
1. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Фараон

На изломе чувств

Юнина Наталья
Любовные романы:
современные любовные романы
6.83
рейтинг книги
На изломе чувств

Энфис 2

Кронос Александр
2. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00
рейтинг книги
Энфис 2