В этом разделе рассказывается, как запустить инструменты панели управления Windows (и другие приложения) из скриптов MMB.
Rundll32.exe используется Windows для запуска библиотек DLL как приложений. Одним из таких примеров может служить запуск приложений (апплетов) панели управления.
Используя Rundll32.exe, вы можете запускать приложения панели управления из файлов CPL, при этом указав страницу, на которой должно открываться приложение.
Основной вид команды:
Run("rundll32.exe","shell32.dll,Control_RunDLL filename.cpl")
Общий вид команды:
Run("rundll32.exe","shell32.dll,Control_RunDLL filename.cpl,@n,t")
где filename.cpl - имя одного из *.CPL файлов панели управления, n - номер апплета внутри *.CPL файла (нумерация начинается с нуля) и t - это номер страницы для многостраничных апплетов.
Чтобы выбрать определенный апплет из файла панели управления, после имени файла ставится запятая, значок @ и номер апплета. Например, для запуска окна свойств клавиатуры, которое является вторым апплетом в файле Main.cpl, вы должны использовать следующую команду:
Run("rundll32.exe","shell32.dll,Control_RunDLL main.cpl,@1")
Некоторые многостраничные апплеты созданы так, что есть возможность открывать их на определенной странице. Вы должны указать номер апплета (@0 для файлов, содержащих только одно приложение), затем поставить запятую и указать номер страницы.
Эта команда открывает окно свойств экрана на странице Оформление:
Инструменты панели управления:
Специальные возможности access.cpl
Установка и удаление программ appwiz.cpl
Свойства экрана desk.cpl
Шрифты fonts
Установка оборудования hdwwiz.cpl
Свойства обозревателя inetcpl.cpl
Язык и региональные стандарты intl.cpl
Игровые устройства joy.cpl
Свойства мыши main.cpl
Звуки и аудиоустройства mmsys.cpl
Сетевые подключения ncpa.cpl
Мастер настройки сети netsetup.cpl
Учетные записи пользователей nusrmgr.cpl
Электропитание powercfg.cpl
Свойства системы sysdm.cpl
Телефон и модем telephon.cpl
Дата и время timedate.cpl
Автоматическое обновление wuaucpl.cpl
Примеры:
|
Установка даты и времени, страница Часовой пояс: Run("rundll32.exe","shell32.dll,Control_RunDLL timedate.cpl,@0,1") Свойства экрана, страница Заставка: Run("rundll32.exe","shell32.dll,Control_RunDLL desk.cpl,@0,1") Свойства системы, страница Оборудование: Run("rundll32.exe","shell32.dll,Control_RunDLL sysdm.cpl,@0,2") Звуки и аудиоустройства: Run("rundll32.exe","shell32.dll,Control_RunDLL mmsys.cpl") Игровые устройства: Run("rundll32.exe","shell32.dll,Control_RunDLL joy.cpl") Настройка Internet Explorer: Run("rundll32.exe","shell32.dll,Control_RunDLL inetcpl.cpl,@0,6") |
Другие приемы:
Копирование диска:
Run("rundll32.exe","diskcopy.dll,DiskCopyRunDll")
Завершение сеанса пользователя:
Run("shutdown.exe","-l -f")
Перезагрузка:
Run("shutdown.exe","-r -f -t 00")
Завершение работы:
Run("shutdown.exe","-s -f -t 00")
Переход в спящий режим:
Run("rundll32.exe","powrprof.dll,SetSuspendState")
Вызов диалогового окна "Завершение работы Windows":
Run("rundll32.exe","msgina,ShellShutdownDialog")
Блокировка компьютера:
Run("rundll32.exe","user32.dll LockWorkStation")
Мастер установки принтеров:
Run("rundll32.exe","shell32.dll,SHHelpShortcuts_RunDLL AddPrinter")
Вызов диалогового окна "Выбор программы" для открытия файла:
Run("rundll32.exe","shell32.dll,OpenAs_RunDLL ИмяФайла")
Сменить назначение кнопок мыши:
Run("rundll32.exe","user32.dll,SwapMouseButton")
Специальные возможности, страница Клавиатура:
Run("rundll32.exe","shell32.dll,Control_RunDLL access.cpl,,1")
Специальные возможности, страница Мышь:
Run("rundll32.exe","shell32.dll,Control_RunDLL access.cpl,,4")
Установка скринсейвера:
Run("rundll32.exe","desk.cpl,InstallScreenSaver ИмяФайла.scr")
Открыть папку "Fonts":
Run("rundll32.exe","shell32.dll,SHHelpShortcuts_RunDLL FontsFolder")
Открыть папку "Принтеры и факсы":
Run("rundll32.exe","shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder")
Установка и удаление программ:
Run("rundll32.exe","shell32.dll,Control_RunDLL appwiz.cpl,,0")
Открыть веб-страницу с заданным URL:
Простейший скрипт:
Run("www.mmbscript.ru","")
Если вы хотите, чтобы окно браузера открылось поверх других окон, то используйте этот код (Win2k/XP):
Run("<System>\rundll32.exe","TOP <System>\shell32.dll,ShellExec_RunDLL www.mmbscript.ru")
...или этот (Win2k/XP):
Run("<System>\rundll32.exe","<System>\url.dll,FileProtocolHandler www.mmbscript.ru")
...или этот (Win9x):
Run("<Windows>\rundll32.exe","<System>\url.dll,FileProtocolHandler www.mmbscript.ru")
Создать письмо с помощью почтовой программы по умолчанию (с заданным заголовком и темой):
Точно также, как для URL, но с использованием адреса e-mail.
Простейший скрипт:
Run("mailto:your@address.com","")
Если вы хотите, чтобы окно почтовой программы открылось поверх других окон, то используйте этот код (Win2k/XP):
Run("<System>\rundll32.exe","TOP <System>\shell32.dll,ShellExec_RunDLL your@address.com?Subject="Test"")
...или этот (Win2k/XP):
Run("<System>\rundll32.exe","<System>\url.dll,FileProtocolHandler mailto:your@address.com?Subject="Test"")
...или этот (Win9x):
Run("<Windows>\rundll32.exe","<System>\url.dll,FileProtocolHandler mailto:your@address.com?Subject="Test"")
Настройка профилей Microsoft Exchange:
Run("rundll32.exe","shell32.dll,Control_RunDLL mlcfg32.cpl")
Настройка аудиопараметров, страница Громкость:
Run("rundll32.exe","shell32.dll,Control_RunDLL mmsys.cpl,,0")
Безопасное отключение устройства:
Run("rundll32.exe","shell32.dll,Control_RunDLL hotplug.dll")
Подключение сетевого диска:
Run("rundll32.exe","shell32.dll,SHHelpShortcuts_RunDLL Connect")