Запуск с помощью системных функций Windows

Запуск с помощью системных функций 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");

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

10.5.1. Запуск и ожидание с помощью system()

Из книги автора

10.5.1. Запуск и ожидание с помощью system() Программам часто требуется запускать другие программы и ожидать их завершения, прежде чем продолжать свою работу. Функция system() позволяет это делать достаточно просто.int system (const char* cmd);system() порождает дочерний процесс, который


Запуск сценария с помощью меню Пуск

Из книги автора

Запуск сценария с помощью меню Пуск Для запуска сценария с помощью пункта Выполнить (Run) меню Пуск (Start), достаточно написать полное имя этого сценария в поле Открыть (Open) (рис. 1.5).  Рис. 1.5. Запуск сценария из меню Пуск в Windows ХРВ этом случае по умолчанию сценарий будет


Запуск сценария с помощью Проводника Windows (Windows Explorer)

Из книги автора

Запуск сценария с помощью Проводника Windows (Windows Explorer) Самым простым является запуск сценария в окнах Проводника Windows или на рабочем столе — достаточно просто выполнить двойной щелчок мышью на имени файла со сценарием или на его значке (рис. 1.6). Рис. 1.6. Запуск сценария с


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

Из книги автора

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


Запуск с помощью оболочки Windows

Из книги автора

Запуск с помощью оболочки Windows Для доступа к стандартным диалоговым окнам Windows и модулям панели управления нужно сначала создать экземпляр объекта-оболочки Windows://Создаем объект Shell.ApplicationShell=WScript.CreateObject("Shell.Application");Модули панели управления вызываются с помощью метода


Глава 6 Программирование с помощью стандартных функций ввода-вывода

Из книги автора

Глава 6 Программирование с помощью стандартных функций ввода-вывода До сих пор мы использовали существующие инструменты, чтобы разрабатывать новые, но сейчас уже достигнут разумный предел в создании новых средств с помощью shell, sed и awk. В этой главе нам предстоит написать


6.4.2 Взаимодействие с операционной системой через вызовы системных функций

Из книги автора

6.4.2 Взаимодействие с операционной системой через вызовы системных функций Такого рода взаимодействие с ядром было предметом рассмотрения в предыдущих главах, где шла речь об обычном вызове функций. Очевидно, что обычная последовательность команд обращения к функции не


21.5. Запуск игр с помощью эмулятора wine

Из книги автора

21.5. Запуск игр с помощью эмулятора wine Эмулятор wine гарантированно поддерживает следующие игры:1. Counter Strike2. StarCraft3. Fallout4. Fallout 25. Gunman6. Quake 27. Quake 38. Soldier of Fortune9. Unreal Tournament10. Red Alert (все версии)11. Diablo 212. Caesar13. Return to Castle Wolfenstain14. Star track15. Kingpin16. Nox17. Jadded Alliance18. 4?4 Evolution19. American McGee


Глава 6. ОБОБЩЕНИЕ ДАННЫХ С ПОМОЩЬЮ АГРЕГАТНЫХ ФУНКЦИЙ

Из книги автора

Глава 6. ОБОБЩЕНИЕ ДАННЫХ С ПОМОЩЬЮ АГРЕГАТНЫХ ФУНКЦИЙ В ЭТОЙ ГЛАВЕ, ВЫ ПЕРЕЙДЕТЕ ОТ ПРОСТОГО использования запросов к извлечению значений из базы данных и определению, как вы можете использовать эти значения чтобы получить из них информацию. Это делается с помощью


Запуск пользовательских функций

Из книги автора

Запуск пользовательских функций Один из способов запустить функцию, - это, конечно же, использовать стандартную процедуру запуска в VBA, т.е. вызвать ее внутри процедуры Sub. Детально данная техника описана в главе 6.Для того чтобы вставить в рабочий лист возвращаемое


Выполнение расчетов с помощью функций

Из книги автора

Выполнение расчетов с помощью функций Вы можете также выполнять многие виды расчетов с помощью специальных встроенных в Excel 2007 функций.Функция – это изначально созданная и заложенная в программу формула, которая выполняет вычисления по заданным величинам и в


4.4.2.2. Создание значенией геометрии с помощью функций WKB

Из книги автора

4.4.2.2. Создание значенией геометрии с помощью функций WKB MySQL обеспечивает ряд функций, которые берут как входные параметры BLOB, содержащий представление Well-Known Binary и, факультативно, пространственный идентификатор системы ссылки (SRID). Они возвращают соответствующую


Вызов функций Windows API

Из книги автора

Вызов функций Windows API Для вызовов функций Windows API используется механизм P/Invoke. Большинство часто вызываемых функций находится в библиотеке coredll.dll.Разработчики, которые пользовались функциями API в настольной версии Windows, наверняка обратят внимание на то, что эта библиотека


3.2.1. Запуск команд и сценариев с помощью команды at

Из книги автора

3.2.1. Запуск команд и сценариев с помощью команды at Текст задания можно передать команде at двумя способами: в файле или в режиме командной строки at. Если задание состоит из одной команды или двух — трех команд, объединенных каналом, то удобнее воспользоваться вторым