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

на главную

Жанры

Недокументированные и малоизвестные возможности Windows XP

Клименко Роман

Шрифт:

CPL-файлы

Из нескольких предыдущих абзацев вы узнали практически все теоретические выкладки, которые необходимы для работы с программой rundll32.exe. Сейчас же будут перечислены те возможности, которые данная программа может предоставить пользователю. Начнем с описания функций CPL-файлов.

ПРИМЕЧАНИЕ

Перед тем как будут рассмотрены различные функции, которые могут выполняться с помощью программы rundll32.exe, хотелось бы уточнить способ записи некоторых функций. Чуть выше рассмотрена команда, выполняющая функцию ShellAboutA. Как можно заметить, эта функция заканчивается каким-то совершенно ненужным символом — A. Он говорит системе о том, что функция использует для своей работы символы кодировки ASCII (использование одного байта для представления одного символа). Существует

еще один символ, которым может заканчиваться функция — символ W. Он говорит системе о том, что функция использует для своей работы символы в кодировке Unicode (для представления одного символа используются два байта). Так вот, эти символы совершенно не обязательны (хотя в очень редких случаях они необходимы) — если вы введете название функции без последнего символа (А или W), то система сама попробует определить, какая кодировка должна использоваться.

Хотя раньше говорилось, что программа rundll32.exe может вызывать функции библиотек, на самом деле ее возможности намного обширнее — она может вызвать функцию отовсюду, где она указана, будь то библиотека, CPL-файлы или сам исполняемый файл программы.

CPL-файл — это специальный файл (их еще называют апплетами), являющийся диалоговым окном, которое вызывается с помощью Панели управления и предназначено для настройки какого-то отдельного компонента операционной системы. Большую часть ссылок на CPL-файлы можно встретить в папке Панель управления, которую можно открыть либо с помощью меню Пуск, либо с помощью вызова команды control или команды shell:ControlPanelFolder. Но операционная система Windows позволяет вызывать CPL-файлы и с помощью ввода их названия в окне Запуск программы (в этом случае расширение CPL указывать обязательно).

В контексте данной книги содержимое СPL-файлов рассматриваться не будет, предполагается, что читатель уже пользовался ими. Исключением могут быть только те случаи, когда соответствующая команда rundll32.exe зависит от установки тех или иных параметров, доступ к которым можно получить из CPL-файла.

Access.cpl

Апплет предназначен для редактирования различных специальных параметров настройки клавиатуры, звука, мыши или оболочки Windows. Все эти параметры разрабатывались программистами Microsoft специально для людей с ограниченными физическими возможностями, хотя некоторые из представленных в апплете параметров могут быть полезны и в повседневной работе всех пользователей операционной системы Windows XP.

Чтобы вызвать данный апплет с помощью программы rundll32.exe, необходимо использовать команду rundll32 Access.cpl, DebugMain. Вот, в принципе, и все команды, которые поддерживает апплет access.cpl.

Appwiz.cpl

Эта команда открывает диалоговое окно Установка и удаление программ. С его помощью можно как удалять или изменять составляющую различных установленных в системе программ, так и заменять составляющие компоненты самой операционной системы.

В отличие от рассмотренного ранее апплета access.cpl, апплет appwiz.cpl не позволяет вызвать себя с помощью команды программы rundll32.exe. Зато он дает возможность выполнить некоторые действия, другими способами не выполняющиеся. Но перед тем как рассмотреть возможные действия, которые разрешает выполнить апплет appwiz.cpl, скажем несколько слов о работе самого апплета — это поможет нам в понимании работы рассматриваемых далее команд.

Как уже сказано, апплет appwiz.cpl содержит список всех установленных в системе приложений — для его отображения применяется список Установленные программы (рис. 1.2). Но как формируется данный список? Можно подумать, что это происходит при каждом запуске апплета appwiz.cpl путем сканирования файловой системы Windows, но все намного проще. На самом деле данный список расположен в реестре Windows. Для его хранения используется ветвь HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, включающая набор разделов, каждый из которых определяет один элемент списка Установленные программы. Названия этих разделов идентифицируют установленную программу для апплета appwiz.cpl, но при этом не используются в списке Установленные программы. Для указания названия элемента в списке применяется строковый параметр DisplayName, расположенный в каждом из разделов рассматриваемой ветви (см. рис. 1.2).

Рис. 1.2.

Формирование списка Установленные программы апплета appwiz.cpl

Здесь не будет полностью рассказано о параметрах разделов ветви реестра Windows HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall — это не является главной темой книги. Поэтому читателям, которым интересна данная тема, рекомендуется купить дополнительную книгу, посвященную только ей. Мы же сейчас займемся тем, для чего и был затеян рассказ о способе хранения списка установленных программ апплетом appwiz.cpl, — описанием команды rundll32.exe, с помощью которой можно удалить программу, указанную в данном списке.

Для того чтобы удалить программу, ссылка на которую содержится в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, необходимо воспользоваться следующей командой:

rundll32 appwiz.cpl, WOW64Uninstall_RunDLL ,,,«название раздела в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, идентифицирующего программу»

Например, если вы хотите удалить программу EVEREST Professional v1.50, раздел которой в рассматриваемой ветви назван EVEREST Professional_is1 (рис. 1.3), то необходимо использовать следующую команду:

rundll32 appwiz.cpl, WOW64Uninstall_RunDLL ,,,EVEREST Professional_is1

После ее вызова запустится команда удаления, которая записана в параметре строкового типа UninstallString раздела ветви реестра EVEREST Professional_is1 (рис. 1.3).

Рис. 1.З. Раздел удаляемой программы назван EVEREST professional_is1

Но, кроме удаления программ, апплет appwiz.cpl позволяет выполнять некоторые другие интересные команды, используемые оболочкой Windows. Первой из них является команда rundll32 appwiz.cpl, ConfigStartMenu, позволяющая очистить содержимое вашего меню Пуск. После ее вызова перед вами появится диалог, отображенный на рис. 1.4. С помощью этого диалога можно удалить те из элементов меню Пуск, которые находятся в папке %userprofile%\Главное меню (такие папки, как Администрирование, Стандартные или Автозагрузка удалить нельзя).

Другой командой, которую можно вызвать благодаря апплету appwiz.cpl, является команда rundll32 appwiz.cpl, NewLinkHere «путь к кaтaлогу». С ее помощью можно создать ярлык в каталоге, который вы укажете. Для этого будет вызван специальный мастер создания ярлыков. Доступ к нему можно также получить из списка Создать контекстного меню Рабочего стола или папки, если выбрать в этом списке команду Ярлык.

Рис. 1.4. Результат выполнения команды rundll32 appwiz.cpl, ConfigStartMenu

Bthprops.cpl

Bthprops.cpl — это апплет, предназначенный для настройки работы и взаимодействия устройств, подключаемых при помощи беспроводного соединения Bluetooth. По умолчанию, если в системе не установлено (или не зарегистрировано) ни одного устройства, работающего с помощью Bluetooth, то апплет bthprops.cpl и все настраиваемые им параметры недоступны. Если же вы хотите посмотреть, что это за апплет, то можно попытаться воспользоваться некоторыми командами rundll32.exe, использующими файл апплета для своей работы. К сожалению, с помощью таких команд нельзя вызвать само окно апплета, но зато можно воспользоваться некоторыми функциями, которые оно предоставляет. Например, можно вызвать агента подключений Bluetooth, с помощью которого можно подключить устройство Bluetooth, передать или отправить файлы, а также настроить конфигурацию уже подключенных устройств Bluetooth. Для этого необходимо выполнить несколько действий. Во-первых, нужно присвоить DWORD-параметру Notification Area Icon, расположенному в ветви системного реестра HKEY_CURRENT_USER\Control Panel\Bluetooth, значение, равное 1. Это необходимо для того, чтобы мы могли взаимодействовать с агентом подключений посредством его значка, отображаемого на Панели задач. Во-вторых, необходимо воспользоваться командой rundll32.exe для запуска агента: rundll32 bthprops.cpl , , ,BluetoothAuthenticationAgent. После ввода данной команды на Панели задач в области уведомлений появится значок, подобный изображенному на рис. 1.5.

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

Золушка по имени Грейс

Ром Полина
Фантастика:
фэнтези
8.63
рейтинг книги
Золушка по имени Грейс

Отмороженный 6.0

Гарцевич Евгений Александрович
6. Отмороженный
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Отмороженный 6.0

Заставь меня остановиться 2

Юнина Наталья
2. Заставь меня остановиться
Любовные романы:
современные любовные романы
6.29
рейтинг книги
Заставь меня остановиться 2

Бальмануг. (не) Баронесса

Лашина Полина
1. Мир Десяти
Фантастика:
юмористическое фэнтези
попаданцы
5.00
рейтинг книги
Бальмануг. (не) Баронесса

Седьмая жена короля

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Седьмая жена короля

Камень. Книга вторая

Минин Станислав
2. Камень
Фантастика:
фэнтези
8.52
рейтинг книги
Камень. Книга вторая

Неудержимый. Книга IX

Боярский Андрей
9. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга IX

Вперед в прошлое!

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

6 Секретов мисс Недотроги

Суббота Светлана
2. Мисс Недотрога
Любовные романы:
любовно-фантастические романы
эро литература
7.34
рейтинг книги
6 Секретов мисс Недотроги

Приручитель женщин-монстров. Том 3

Дорничев Дмитрий
3. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 3

Странник

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

На границе империй. Том 7. Часть 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
На границе империй. Том 7. Часть 4

В зоне особого внимания

Иванов Дмитрий
12. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
В зоне особого внимания

Назад в СССР: 1985 Книга 2

Гаусс Максим
2. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Назад в СССР: 1985 Книга 2