appwiz cpl что это

990x.top

Простой компьютерный блог для души)

appwiz.cpl что это? (Windows Control Panel)

appwiz cpl что этоПривет. Поговорим о таком как appwiz.cpl, знаете что это такое? Нет? Тогда я вам сейчас расскажу. Панель управления я думаю что все знают. И вот ней есть значки. Но на самом деле это не простые значки, это как бы ярлыки апплетов. Что такое апплет? Это маленькая программа, но которая сама по себе работать не может, она как бы работает на какой-то платформе. Вот например есть java-апплеты, которые работают на платформе Java. Ну а вот appwiz.cpl это апплет, который работает на платформе.. не знаю на какой платформе, но можно считать что appwiz.cpl это команда в Windows, вот пусть будет так.

Но что делает appwiz.cpl? Это команда, которая запускает окно Программы и компоненты. То есть то самое окно, если бы вы запустили значок программы и компоненты из панели управления.

Теперь давайте немного посмотрим на деле что к чему.. вот у меня стоит Windows 10 билд 1803, и вот смотрите, зажимаю кнопки Win + R, потом вставляю эту команду:

appwiz cpl что это

Нажал ОК и появилось окно Программы и компоненты:

appwiz cpl что это

И тут можно удалить какую-то программу, если есть необходимость. То есть мы этой командой запустили то окно, которое бы запустилось если бы нажали два раза по этому значку в панели управления:

appwiz cpl что это

Кстати саму панель можно запустить такой командой:

appwiz cpl что это

Команда appwiz.cpl в том числе работает и если ее запустить из командной строки. Кстати, давайте я покажу как запустить командную строку.. то есть какой командой? Вот смотрите, также зажимаете кнопки Win + R и пишите уже такую команду:

appwiz cpl что это

И вот вам уже командная строка:

appwiz cpl что это

И вот в эту командную строку также пишем:

appwiz cpl что это

Нажимаем энтер и снова появится окно программы и компоненты.

Есть еще один способ запустить это окно при помощи такой команды, смотрите, идем в диспетчер задач:

appwiz cpl что это

Теперь нажимаем тут Файл и там выбираем Запустить новую задачу:

appwiz cpl что это

Появится окошко Создание задачи и там также пишите команду:

appwiz cpl что это

Нажали ОК и запустится снова сами знаете какое окно.

А теперь бонус! Я вам покажу как создать ярлык для команды appwiz.cpl, то есть получается как создать ярлык программы и компоненты. Надеюсь кому-то это пригодиться, в общем смотрите, по рабочему столу нажимаете правой кнопкой и там есть меню Создать, в нем выбираете Ярлык:

appwiz cpl что это

Дальше появится окно, нужно указать расположение обьекта, тут пишите команду appwiz.cpl:

appwiz cpl что это

Нажали Далее, потом указываем название, я вот так и назову — Программы и компоненты:

appwiz cpl что это

И все — нажали Готово и у вас на рабочем столе появился ярлык Программы и компоненты:

appwiz cpl что это

И теперь если этот ярлык запустить, то появится окно программы и компоненты. И это удобно, согласитесь, ведь не нужно идти в панель управления…

Кстати ребята, я не знал, но если нажать правой кнопкой по ярлыку и выбрать пункт расположение ярлыка:

Источник

Appwiz.cpl

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

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

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

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

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

Для того чтобы удалить программу, ссылка на которую содержится в ветви реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall, необходимо воспользоваться следующей командой:

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

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

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

Источник

Скачать и устранить проблемы Appwiz.cpl

Последнее обновление: 06/30/2021 [Необходимое время для чтения:

Файлы Shell Application Manager, такие как appwiz.cpl, считаются разновидностью файла Win32 DLL (Библиотека динамической компоновки). Они соотносятся с расширением CPL, разработанным компанией Microsoft для Microsoft® Windows® Operating System.

Первая версия appwiz.cpl для Windows XP была представлена 10/25/2001 в Windows XP. Самая последняя версия [версия 10.0.16299.248 (WinBuild.160101.0800)] была представлена 07/04/2011 для Microsoft Office Access 2010 14. Файл appwiz.cpl включен в версии ОС Windows 10, Windows 8.1 и Windows 8.

Ниже приведены исчерпывающие сведения о файле, инструкции для простого устранения неполадок, возникших с файлом CPL, и список бесплатных загрузок appwiz.cpl для каждой из имеющихся версий файла.

appwiz cpl что это

Рекомендуемая загрузка: исправить ошибки реестра в WinThruster, связанные с appwiz.cpl и (или) Microsoft Office Access 2010.

appwiz cpl что это

appwiz cpl что это

Совместимость с Windows 10, 8, 7, Vista, XP и 2000

Средняя оценка пользователей

Обзор файла

Общие сведения ✻
Имя файла:appwiz.cpl
Расширение файла:расширение CPL
Описание:Shell Application Manager
Тип объектного файла:Dynamic link library
Файловая операционная система:Windows NT 32-bit
Тип MIME:application/octet-stream
Пользовательский рейтинг популярности:
Сведения о разработчике и ПО
Разработчик ПО:Microsoft Corporation
Программа:Microsoft® Windows® Operating System
Авторское право:© Microsoft Corporation. All rights reserved.
Сведения о файле
Набор символов:Unicode
Код языка:English (U.S.)
Флаги файлов:(none)
Маска флагов файлов:0x003f
Точка входа:0x118d0
Размер кода:276480
Информация о файлеОписание
Размер файла:738 kB
Дата и время изменения файла:2020:03:04 15:26:25+00:00
Тип файла:Win32 DLL
Тип MIME:application/octet-stream
Предупреждение!Possibly corrupt Version resource
Тип компьютера:Intel 386 or later, and compatibles
Метка времени:2047:09:19 20:29:58+00:00
Тип PE:PE32
Версия компоновщика:14.10
Размер кода:276480
Размер инициализированных данных:481792
Размер неинициализированных данных:0
Точка входа:0x118d0
Версия ОС:10.0
Версия образа:10.0
Версия подсистемы:10.0
Подсистема:Windows GUI
Номер версии файла:10.0.16299.248
Номер версии продукта:10.0.16299.248
Маска флагов файлов:0x003f
Флаги файлов:(none)
Файловая ОС:Windows NT 32-bit
Тип объектного файла:Dynamic link library
Подтип файла:0
Код языка:English (U.S.)
Набор символов:Unicode
Наименование компании:Microsoft Corporation
Описание файла:Shell Application Manager
Версия файла:10.0.16299.248 (WinBuild.160101.0800)
Внутреннее имя:APPWIZ
Авторское право:© Microsoft Corporation. All rights reserved.
Название продукта:Microsoft® Windows® Operating System
Версия продукта:10.0.16299.248

✻ Фрагменты данных файлов предоставлены участником Exiftool (Phil Harvey) и распространяются под лицензией Perl Artistic.

Что такое сообщения об ошибках appwiz.cpl?

Ошибки библиотеки динамической компоновки appwiz.cpl

Файл appwiz.cpl считается разновидностью DLL-файла. DLL-файлы, такие как appwiz.cpl, по сути являются справочником, хранящим информацию и инструкции для исполняемых файлов (EXE-файлов), например HelpPane.exe. Данные файлы были созданы для того, чтобы различные программы (например, Microsoft Office Access 2010) имели общий доступ к файлу appwiz.cpl для более эффективного распределения памяти, что в свою очередь способствует повышению быстродействия компьютера.

К сожалению, то, что делает файлы DLL настолько удобными и эффективными, также делает их крайне уязвимыми к различного рода проблемам. Если что-то происходит с общим файлом CPL, то он либо пропадает, либо каким-то образом повреждается, вследствие чего может возникать сообщение об ошибке выполнения. Термин «выполнение» говорит сам за себя; имеется в виду, что данные ошибки возникают в момент, когда происходит попытка загрузки файла appwiz.cpl — либо при запуске приложения Microsoft Office Access 2010, либо, в некоторых случаях, во время его работы. К числу наиболее распространенных ошибок appwiz.cpl относятся:

Файл appwiz.cpl может отсутствовать из-за случайного удаления, быть удаленным другой программой как общий файл (общий с Microsoft Office Access 2010) или быть удаленным в результате заражения вредоносным программным обеспечением. Кроме того, повреждение файла appwiz.cpl может быть вызвано отключением питания при загрузке Microsoft Office Access 2010, сбоем системы при загрузке appwiz.cpl, наличием плохих секторов на запоминающем устройстве (обычно это основной жесткий диск) или, как нередко бывает, заражением вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.

appwiz cpl что это

Как исправить ошибки appwiz.cpl — 3-шаговое руководство (время выполнения:

Если вы столкнулись с одним из вышеуказанных сообщений об ошибке, выполните следующие действия по устранению неполадок, чтобы решить проблему appwiz.cpl. Эти шаги по устранению неполадок перечислены в рекомендуемом порядке выполнения.

Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.

Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):

Если на этапе 1 не удается устранить ошибку appwiz.cpl, перейдите к шагу 2 ниже.

appwiz cpl что это

Шаг 2. Если вы недавно установили приложение Microsoft Office Access 2010 (или схожее программное обеспечение), удалите его, затем попробуйте переустановить Microsoft Office Access 2010.

Чтобы удалить программное обеспечение Microsoft Office Access 2010, выполните следующие инструкции (Windows XP, Vista, 7, 8 и 10):

После полного удаления приложения следует перезагрузить ПК и заново установить Microsoft Office Access 2010.

Если на этапе 2 также не удается устранить ошибку appwiz.cpl, перейдите к шагу 3 ниже.

appwiz cpl что это

Microsoft Office Access 2010 14

Шаг 3. Выполните обновление Windows.

Когда первые два шага не устранили проблему, целесообразно запустить Центр обновления Windows. Во многих случаях возникновение сообщений об ошибках appwiz.cpl может быть вызвано устаревшей операционной системой Windows. Чтобы запустить Центр обновления Windows, выполните следующие простые шаги:

Если Центр обновления Windows не смог устранить сообщение об ошибке appwiz.cpl, перейдите к следующему шагу. Обратите внимание, что этот последний шаг рекомендуется только для продвинутых пользователей ПК.

appwiz cpl что это

Если эти шаги не принесут результата: скачайте и замените файл appwiz.cpl (внимание: для опытных пользователей)

Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 10.

Источник

Быстрый доступ к апплетам Панели управления Windows

Microsoft начала постепенно отказываться от панели управления еще в Windows 8, когда был представлен новый центр управления “Параметры ПК”. Компания продолжила развивать данную концепцию, и в Windows 10 мы имеем дело уже с приложением “Параметры”.

У пользователей Windows есть несколько способов, чтобы открыть панель управления, но они могут отличаться на разных версиях операционной системы.

Список апплетов Панели управления Windows

appwiz cpl что это

Название апплетаНазвание файлаОписание
Программы и компонентыappwiz.cplИспользуется для удаления установленных программ и добавления или удаления компонентов Windows
Дата и времяtimedate.cplПозволяет настраивать время и дату, изменять часовой пояс, добавлять дополнительные часы и синхронизировать время с серверами в Интернете
Диспетчер устройствhdwwiz.cplПоказывает все аппаратные компоненты компьютера. Используется для установки и удаления устройств, установки драйверов и выполнения других задач с оборудованием
Экранdesk.cplПоказывает настройки экрана, цветовой профиль, параметры масштабирования. В Windows 10 открывает соответствующую страницу приложения “Параметры”
Брандмауэр Windowsfirewall.cplПозволяет включать и отключать фаервол, открывать окно расширенных настроек для блокировки или разрешения подключений
Инфракрасная связьirprops.cplПозволяет управлять устройствами с ИК-портом
Свойства: Интернетinetcpl.cplОткрывает окно свойств веб-обозревателя и позволяет настраивать параметры Internet Explorer, которые могут использоваться также другими браузерами
Игровые устройстваjoy.cplПозволяет настраивать геймпады и другие игровые контроллеры, подключенные к системе
Свойства: Клавиатураmain.cpl keyboardОбеспечивает доступ к различным параметрам клавиатуры: задержке, скорости мигания курсора и позволяет проверять установленные клавиатуры
Языкcontrol input.dllПозволяет добавлять, удалять и изменять приоритет языковых пакетов
Свойства: Мышьmain.cplОбеспечивает доступ к различным параметрам мыши: форме и цвету курсора, поведению кнопок и колесика мыши
Сетевые подключенияncpa.cplУправление сетевыми подключениями
Электропитаниеpowercfg.cplОткрывает настройки электропитания. Можно детально настроить схему электропитания
Регионintl.cplПозволяет изменять форматы даты и времени, а также ваше местоположение
Заставкаcontrol desk.cplОткрывает диалоговое окно настройки заставки экрана. В Windows 10 открывает соответствующую страницу приложения “Параметры”
Звукmmsys.cplВыводит список настроек устройств воспроизведения и записи. Можно настраивать звуки и голосовую связь
Свойства системыsysdm.cplВыводит информацию об устройстве и ссылки для настройки отдельных компонентов системы
Параметры планшета и пераtabletpc.cplПараметры доступны только в планшетном режиме
Сведения о расположенииtelephon.cplМожно настраивать индекс, телефонный код для служб модема
Центр безопасности и обслуживанияwscui.cplУправление настройками безопасности Windows
Учетные записи пользователейcontrol userpasswordsУправление аккаунтами в системе

Канонические имена Панели управления Windows

Обратите внимание, что некоторые команды не работают в определенных версиях Windows.

Источник

Часть 1

Работа с оболочкой

Rundll32.exe — это небольшая программа, поставляемая со всеми версиями Windows.

Она была создана программистами Microsoft для своих нужд и способна выполнять любую Wind32 API-функцию, описанную в библиотеке, как будто эта функция вызывается из программы или сама является полноценной программой. Rundll32.exe создавалась для вызова различных функций из файлов сценариев или INF-файлов, с ее помощью можно выполнить очень много интересных и полезных трюков, описание которых приведено в данной главе.

Перед описанием команд, доступных при работе с rundll32.exe, хотелось бы еще сузить рамки функций, которые необходимо понимать под «любыми» функциями, выполняемыми с помощью данной программы.

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

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

Синтаксис программы rundll32.exe довольно прост:

rundl32 «путь к библиотеке и ее имя», «имя функции в данной библиотеке», «список необходимых параметров через запятую»

Но как же можно вызвать данную программу? Помимо использования вызова в коде сценария, о чем будет рассказано в следующих главах книги, программу можно вызвать и с помощью диалога Запуск программы (Пуск►Выполнить) или в поле команды при создании ярлыка. Например, в окне Запуск программы введите команду rundll32 shell32.dll, ShellAboutA и вы сможете увидеть диалог, подобный приведенному на рис. 1.1.

Рис. 1.1. Окно с информационными сведениями об операционной системе

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

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, необходимо воспользоваться следующей командой:

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

После ее вызова запустится команда удаления, которая записана в параметре строкового типа 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

После закрытия агента подключений значение параметра Notification Area Icon автоматически становится равным 0.

Аналогичные команды можно применить и для апплета irprops.cpl. В этом случае нужно в команде rundll32.exe вместо апплета bthprops.cpl указать апплет irprops.cpl. Несмотря на то, что используются два разных апплета, результат команд будет один и тот же.

Desk.cpl

Данный апплет знаком, наверное, каждому пользователю Windows — именно он и является диалогом Свойства: Экран, доступ к которому можно получить, если выбрать команду Свойства из контекстного меню Рабочего стола. С помощью данного апплета можно выполнить такие действия, как настройка некоторых параметров оболочки Windows, изменение обоев Рабочего стола, изменение заставки и параметров энергопотребления, изменение разрешения, глубины цвета или частоты обновления экрана.

Конечно, всех этих действий командами rundll32.exe заменить не получится, но некоторые из них можно выполнить и с помощью rundll32. Рассмотрим наиболее интересные команды.

■ rundll32 desk.cpl, DisplayTestSettingsW— позволяет протестировать настройки монитора, во время чего монитор сначала отключается, а потом включается с новыми настройками. Конечно, новые настройки придется изменять посредством реестра, а вообще, эта команда может быть использована не только для тестирования настроек, но и для скрытия деструктивных или других функций сценария.

■ rundll32 desk.cpl, InstallScreenSaver «путь к новому файлу заставки» — с помощью данной команды можно автоматически сменить используемую по умолчанию заставку, отображаемую при простое системы в течение некоторого времени. Эту команду rundll32.exe можно также использовать и без пути к файлу заставки. В этом случае она будет отображать окно Свойства: Экран, открытое на вкладке Заставка.

■ rundll32 desk.cpl, UpdateUIfontsDueToDPIchange — это очень опасная команда, особенно если применять ее без параметров. Ее действия непредсказуемы, но в основном они направлены на обновление параметров настройки оболочки из ветвей реестра HKEY_CURRENT_USER\Control Panel\Desktop и HKEY_CURRENT_USER\Control Panel\Colors. При этом если не указывать параметры вызова команды, то значения параметров, которые она устанавливает в приведенных ветвях реестра, являются случайными.

Конечно, приведенное выше описание команды условно и наигранно, по этой причине для примера результата действий команды хотелось бы представить рис. 1.7. Приведенные на рисунке настройки оболочки были получены после нескольких последовательных вызовов команды rundll32 desk.cpl, UpdateUIfontsDueToDPIchange.

Рис. 1.7. Оказывается, поиск команд rundll32 — это очень опасное занятие

Firewall.cpl

Апплет служит для настройки встроенного брандмауэра Windows (работает ли брандмауэр, за работой в сети каких программ он не следит). Окно этого апплета можно вызвать с помощью команды rundll32 firewall.cpl, ShowControlPanel.

Кроме вызова окна настройки брандмауэра Windows, файл firewall.cpl позволяет вызвать другое окно — окно извещения о том, что функциональность заданной программы будет ограничена. Для этого применяется следующая команда: rundll32 firewall.cpl, ShowNotificationDialog «название прогрaммы». Например, результат вызова команды rundll32 firewall.cpl, ShowNotificationDialog «c:\windows\system32\cmd.exe» можно увидеть на рис. 1.8 (можно просто указать название программы — cmd.exe, в этом случае в строке Имя вместо описания программы будет отображено ее название).

Вызванное окно является мнимым, то есть его вызов ни к какому результату не приведет и никак не повлияет на возможность работы указанной в диалоговом окне программы.

Рис. 1.8. Результат выполнения команды rundll32 firewall.cpl, ShowNotificationDialog «c:\windows\system32\cmd.exe»

Inetcpl.cpl

Апплет является диалогом Свойства: Интернет, предназначенным для настройки параметров конфигурации браузера Internet Explorer. Доступ к этому диалогу можно получить как через Панель управления, так и с помощью команды Свойства обозревателя меню Свойства браузера Internet Explorer. Уже стало традицией, что доступ к апплету можно получить не только при помощи его названия, но и используя команду rundll32.exe — в данном случае для этого применяется команда rundll32 inetcpl.cpl, LaunchInternetControlPanel. Кроме этой команды, апплет inetcpl.cpl поддерживает довольно много команд rundll32.exe, поэтому для их описания воспользуемся списком.

■ rundll32 inetcpl.cpl, DisplayPopupWindowManagementDialog — позволяет вывести на экран диалог Параметры блокировки всплывающих окон, предназначенный для настройки сайтов, на которые не будут действовать параметры блокировки. При этом в поле Адрес разрешенного Веб-узла будет установлено нечитаемое значение. К сожалению, изменить это значение невозможно. C помощью данного окна можно также определить, будут ли подаваться звуковые сигналы при блокировке всплывающего окна и будет ли отображаться в строке статуса браузера панель информации при блокировке окна.

■ rundll32 inetcpl.cpl, DllInstall — из следующей части, описывающей интересные ветви и параметры реестра, вы узнаете о том, что содержимое списка на вкладке Дополнительно окна Свойства: Интернет хранится в реестре.

При этом его можно редактировать или вообще удалить, чтобы пользователь не смог изменить настройки браузера. Если вы все-таки удалили содержимое списка на вкладке Дополнительно, то, выполнив данную команду rundll32.exe, вы всегда сможете его восстановить (восстанавливается список по умолчанию, то есть если вы добавили к списку свои элементы, то они будут утеряны).

■ rundll32 inetcpl.cpl, LaunchConnectionDialog — позволяет вызвать окно Свойства: Интернет, открытый на вкладке Подключения.

■ rundll32 inetcpl.cpl, LaunchPrivacyDialog — если с помощью предыдущей команды можно было открыть диалог Свойства: Интернет на вкладке Подключения, то с помощью этой команды можно открыть его на вкладке Конфиденциальность.

■ rundll32 inetcpl.cpl, LaunchSecurityDialogEx — позволяет открывать вкладку Безопасность как независимый от диалога Свойства: Интернет элемент системы (рис. 1.9). Другими словами, если две предыдущие команды несмогли бы выполниться в случае, когда с помощью административных шаблонов запрещено отображать соответствующие вкладки или сам диалог, то эта команда не зависит от настроек групповых политик.

Рис. 1.9. Результат выполнения команды rundll32 inetcpl.cpl, LaunchSecurityDialogEx

■ rundll32 inetcpl.cpl, LaunchSiteCertDialog — благодаря этой команде можно вывести диалог Сертификаты, с помощью которого вы сможете импортировать, экспортировать или просто просмотреть список личных сертификатов, а также доверенных издателей, доверенных центров сертификатов и многое другое.

■ rundll32 inetcpl.cpl, OpenLanguageDialog — если два предыдущих диалога не влияли ни на одну программу операционной системы, то диалог, открываемый с помощью этой команды, отображается при нажатии кнопки Языки на вкладке Общие окна Свойства обозревателя.

■ rundll32 inetcpl.cpl, SiteCert_RunFromCmdLine «путь к файлу корневого сертификата» — применяется для запуска установки файла корневого сертификата.

Joy.cpl

С помощью данного апплета можно отобразить маленькое окно настройки или установки нового игрового манипулятора — джойстика, руля и т.д. Поскольку диалоговое окно данного апплета действительно маленькое, неудивительно, что оно поддерживает только одну команду rundll32.exe — rundll32 joy.cpl, ShowJoyCPL.

Mmsys.cpl

В этом разделе будут рассмотрены несколько команд rundll32.exe, предназначенных для отображения той или иной части диалога Свойства: Звук и аудиоустройства. Этот диалог используется для настройки событий системы, которые требуют звукового сопровождения, а также для настройки некоторых возможностей колонок и микрофона. Чтобы отобразить диалог Свойства: Звук и аудиоустройства с помощью rundll32.exe, необходимо воспользоваться командой rundll32 mmsys.cpl, ShowFullControlPanel. Можно также использовать команду rundll32 mmsys.cpl, ShowDriverSettingsAfterFork. В этом случае отображаемый диалог будет открыт на вкладе Оборудование.

Существует возможность вызова отдельных диалогов, используемых для построения диалога Свойства: Звук и аудиоустройства. Например, можно отобразить диалог Свойства аудио (рис. 1.10), являющийся вкладкой Аудио диалога Свойства: Звук и аудиоустройства. Для этого применяется команда rundll32 mmsys.cpl, ShowAudioPropertySheet.

Рис. 1.10. Результат выполнения команды rundll32 mmsys.cpl, showaudiopropertysheet

К сожалению, с помощью команд rundll32.exe нельзя вызвать диалог Учетные записи пользователей или одну из его составляющих, хотя вы можете воспользоваться параметрами вызова апплета nusrmgr.cpl, описанными в приложении 2, чтобы вызвать ту или иную страницу данного диалога.

Рис. 1.11. Изменение изображения, выводимого напротив учетной записи пользователя

Несмотря на то, что данное окно нельзя вызвать с помощью команд rundll32.exe, некоторые возможности апплет nusrmgr.cpl все-таки предоставляет. Например, с его помощью можно удалить из реестра все сведения о диалоге Учетные записи пользователей, в результате чего этот диалог больше не будет работать. Для этого применяется команда rundll32 nusrmgr.cpl, DllUnregisterServer. Конечно, произведенные изменения обратимы. Например, чтобы восстановить в реестре все сведения о диалоге Учетные записи пользователей, нужно воспользоваться командой rundll32 nusrmgr.cpl, DllRegisterServer. Теперь диалог Учетные записи пользователей опять будет работать.

Wuaucpl.cpl

Это последний апплет команды rundll32.exe, который будет рассмотрен. Он предназначен для настройки автоматического обновления Windows и определяет способы его работы: будет ли оно работать; если все-таки будет работать, то в какое время будет происходить подключение к сайту обновления. Апплет также определяет параметры загрузки и установки обновлений. Чтобы отобразить диалоговое окно апплета wuaucpl.cpl с помощью rundll32.exe, необходимо воспользоваться командой rundll32 wuaucpl.cpl, ShowAUControlPanel.

Кроме отображения окна апплета, существует еще одна возможность — отображение справки по использованию автоматического обновления. Для этого применяется команда rundll32 wuaucpl.cpl, OpenAUHelpTopic. При этом следует учитывать, что данная команда работает корректно, только если диалог автоматического обновления отображается, иначе, возможно, придется вызвать ее несколько раз.

Существует возможность установки переключателя Загружать обновления; пользователь назначит время установки в диалоговом окне автоматического обновления Windows. Для этого применяется следующая команда: rundll32 wuaucpl.cpl, SaveAUApprovalOptions. Но она не всегда работает. Скажем даже, что в большинстве случаев она вызывает ошибку, но если несколько раз подряд вызвать данную команду, не закрывая сообщения об ошибках предыдущих команд, то существует большая вероятность того, что переключатель будет установлен. Вы спросите, зачем нужно столько мучиться? Все дело в том, что команда выполняется даже тогда, когда соответствующий диалог (или его настройки) заблокирован администратором (рис. 1.12) (конечно, если у вас есть права на изменение параметров ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ WindowsUpdate\Auto Update).

Команда, которой также можно воспользоваться благодаря апплету wuaucpl.cpl, — rundll32 wuaucpl.cpl, SaveConfigVerToRegistry. Она устанавливает значение DWORD-параметра ConfigVer, расположенного в ветви системного реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update, равным 1. К счастью, эта команда работает чаще, чем ей предшествующая.

Рис. 1.12. Установка второго переключателя, несмотря на блокировку апплета

ActiveX-объекты

Рис. 1.13. Пример вызова ActiveX-объекта

Плюсом таких вызовов является то, что каждый вызванный ActiveX-объект выполняется как отдельная программа. Другими словами, если вы несколько раз вызовете один и тот же ActiveX-объект, то будет открыто несколько ActiveX-объектов (в данном случае проигрывателей), а не только один.

Рассмотрим приведенный выше вызов ActiveX-объекта детальней: rundll32 amovie.ocx, RunDll /play /close E:\music\Мультфильмы\Музыка звезд\5.wma. Как можно заметить, он практически ничем не отличается от вызова функций из библиотек — amovie.ocx является файлом, из которого берется функция, RunDll является самой функцией, а путь к музыкальному файлу — ее аргументом. Кроме пути к музыкальному файлу, используется еще два аргумента функции — /play и /close. Первый из них говорит о том, что данный ActiveX-объект необходимо вызвать и начать проигрывать, а второй аргумент означает, что после выполнения своей задачи ActiveX-объект должен быть автоматически закрыт.

Кроме функции RunDll, ActiveX-объект amovie.ocx (да и большинство других ActiveX-объектов) поддерживает еще две функции — DllRegisterServer и DllUnregisterServer. Первая из них регистрирует ActiveX-объект в реестре операционной системы, а вторая удаляет из реестра всю информацию об ActiveX-объекте.

Даже если ActiveX-объект не будет зарегистрирован в системе, его все равно возможно вызвать с помощью функции RunDll или другой подобной функции.

ActiveX-объект amovie.ocx также поддерживает функцию LoadFilterGraph, которая используется для загрузки графического фильтра, но, по мнению автора, данной функции нельзя передать сам путь к фильтру.

Теперь вкратце рассмотрим функции некоторых ActiveX-объектов, которые могут находиться в вашей операционной системе (не забывайте, что эти ActiveX-объекты, как и все остальные, поддерживают и такие функции, как DllRegisterServer и DllUnregisterServer).

■ rundll32 HHCTRL.OCX, doWinMain — выполнение этой команды приводит к вызову диалога HTML Help, приведенного на рис. 1.14. Содержимое диалога (файлы connect.inf и т.д.) находится в каталоге %userprofile%\MZ. Если же данная папка отсутствует в системе, то будет выводиться ошибка о невозможности загрузки страницы.

Этот ActiveX-объект расположен в каталоге %systemroot%\SYSTEM32.

■ rundll32 msdxm.ocx, RunDll /play /stop «путь к музыкальному файлу» — вызов данной функции воспроизводит указанный музыкальный файл с помощью Проигрывателя Windows Media.

Этот ActiveX-объект расположен в каталоге %systemroot%\SYSTEM32.

Рис. 1.14. Вызов программы HTML Help

Вот и все стандартные ActiveX-объекты, которые, кроме DllRegisterServer и DllUnregisterServer, поддерживают дополнительные функции.

Драйверы

Драйверы — это специальные программы, управляющие работой оборудования, для которого они были написаны. Сейчас практически каждое устройство — от оптической мыши до видеокамеры — требует для своего взаимодействия с компьютером отдельный драйвер. Конечно, не все из этих устройств поставляются со своим собственным драйвером — и это неудивительно, ведь операционная система Windows XP уже включает в себя очень много различных драйверов для многих устройств известных производителей. Все они хранятся на установочном диске (а также в локальной файловой системе) в архиве driver.cab и устанавливаются только при нахождении системой нового оборудования.

Как и ActiveX-объекты, драйверы также могут хранить вызов функций, но использование этих функций оказывается не всегда возможным. Во-первых, некоторые драйверы написаны для операционной системы MS-DOS, поэтому применение их функций в операционной системе Windows XP невозможно. Во-вторых, вызов функции уже загруженного драйвера не всегда срабатывает — в большинстве случаев система просто выведет сообщение, подобное приведенному на рис. 1.15.

Рис. 1.15. Как правило, уже загруженные драйверы команды не поддерживают

У себя на компьютере автор книги нашел только одну доступную команду, предоставляемую драйвером WINSPOOL.DRV. Это стандартный драйвер Windows, расположенный в каталоге %systemroot%\system32. Он управляет подключением к принтеру (а также передачей ему заданий) и поддерживает такую команду rundll32.exe:rundll32 WINSPOOL.DRV, ConnectToPrinterDlg. Она выводит диалог для подключения к сетевому принтеру и передачи ему задания. Результат выполнения данной команды будет подобным приведенному на рис. 1.16.

Рис. 1.16. Результат выполнения команды rundll32 WINSPOOL.DRV, ConnectToPrinterDlg

Это диалоговое окно также можно вызвать с помощью команды rundll32.exe PRINTUI.dll, ConnectToPrinterDlg.

Библиотеки

Библиотеки — это специальные файлы с расширением DLL, описывающие все функции, применяемые программой, для которой данная библиотека написана.

Именно библиотеки содержат большинство функций, используемых операционной системой или программой. При этом библиотеки могут применяться как в программах (даже если данная библиотека не была специально написана для соответствующей программы), так и в драйверах, CPL-файлах, ActiveX-объектах и других исполняемых файлах Windows.

Раньше были рассмотрены команды rundll32.exe по файлам, в которых они описаны. Это было более эффективно по той причине, что стандартных CPL-файлов или файлов ActiveX-объектов на компьютере не очень много. Другая картина предстает при взгляде на количество библиотек, зарегистрированных в системе. Чтобы в этом убедиться, достаточно просто заглянуть в каталог %systemroot%\system32 — именно он содержит стандартные библиотеки Windows, которых в этом каталоге можно насчитать сотни. А ведь с каждой программой поставляются еще и свои собственные библиотеки, которые могут находиться как в каталоге, в котором была установлена программа, так и в %systemroot%\system32. Поэтому на этот раз команды rundll32.exe будут рассмотрены не по библиотекам, в которых они описаны, а по действиям, которые они выполняют.

Окна работы с сетью

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

Рассмотрим команду вызова Мастера установки оборудования. Для его вызова достаточно выполнить команду rundll32.exe ccfgnt.dll, IcfgInstallModem, результат действия которой можно увидеть на рис. 1.17.

Аналогичное окно можно вызвать и с помощью следующей команды: rundll32.exe modemui.dll, InvokeControlPanel.

Рис. 1.17. Результат выполнения команды rundll32.exe ccfgnt.dll, IcfgInstallModem

Если модем уже настроен, то можно вызвать диалог отображения свойств модемов, являющийся апплетом Телефон и модем (telephon.cpl) (рис. 1.18). Для этого применяется команда rundll32.exe TAPI32.dll, internalConfig.

С помощью данного диалога можно настроить дополнительные параметры инициализации модема или используемые им драйверы — для этого применяется вкладка Модемы. Но, кроме вкладки Модемы, данный диалог содержит еще две вкладки. С помощью вкладки Набор номера можно настроить параметры доступа к поставщику услуг Интернета, а с помощью вкладки Дополнительно можно добавить, настроить или удалить службы, которые используются при работе модемов.

Рис. 1.18. Результат выполнения команды rundll32.exeTAPI32.dll, internalConfig

Если вам необходима только вкладка Набор номера, то можно воспользоваться командой rundll32.exe TAPI32.dll, LOpenDialAsst. С ее помощью можно вывести приведенное выше диалоговое окно, в котором будет доступна только вкладка Набор номера.

Можно вызвать Мастер настройки сети, предназначенный для создания и настройки сетевого соединения между несколькими компьютерами. Для этого необходимо воспользоваться командой rundll32. exe hnetwiz.dll, HomeNetWizardRunDll. Можно также обратиться к другому мастеру для создания сети — Мастеру новых подключений. С его помощью можно подключиться к Интернету, частной сети или сконфигурировать свою сеть. Для вызова этого мастера достаточно воспользоваться командой rundll32.exe netshell.dll, StartNCW. Можно также выполнить команду rundll32.exe RASAPI32.dll, RasCreatePhonebookEntryA. С ее помощью отображается мастер с названием, аналогичным предыдущему (Мастер новых подключений), но немного другой функциональностью. На рис. 1.19 можно увидеть два этих мастера (справа находится мастер, вызываемый командой rundll2.exe RASAPI32.dll, RasCreatePhonebookEntryA, а слева приведено окно второго шага мастера, вызываемого командой rundll32.exe netshell.dll, StartNCW).

Рис. 1.19. Окна мастера подключения к сети

Но это еще не все, ведь кроме обычных сетей — с помощью подключения нескольких компьютеров к одному кабелю — существуют еще и беспроводные сети. Мастер их создания также можно вызвать. Для этого применяется команда rundll32.exe wzcdlg.dll, FlashConfigCreateNetwork. Этот же мастер можно вызвать и с помощью следующей команды: rundll32.exe wzcdlg.dll, FlashConfigRunWizard.

Но если сетевое соединение уже имеется, то можно воспользоваться командой rundll32.exe netplwiz.dll, AddNetPlaceRunDll для вызова Мастера добавления в сетевое окружение. С его помощью можно создать ярлык для веб-узла, FTP-узла, удаленного компьютера и т.д.

Еще одной интересной возможностью является вызов диалога установки дополнительных сетевых компонентов (рис. 1.20), с помощью которого можно установить службы печати для UNIX, различные сетевые службы (одноранговую сеть, слушатель RIP и т.д.), а также средства для наблюдения за сетевыми подключениями (например, WMI-поставщик SNMP и сам протокол SNMP). Чтобы вызвать данный диалог, достаточно воспользоваться командой rundll32.exe netshell.dll, HrLaunchNetworkOptionalComponents.

Рис. 1.20. Результат выполнения команды rundll32.exe netshell.dll, HrLaunchNetworkOptional Components

Кроме различных мастеров установки или работы с сетью, операционная система Windows предоставляет множество других диалогов, которые косвенно или явно относятся к работе с сетевыми компонентами Windows. К таким диалогам можно отнести диалог Настройка автономных файлов, который является вкладкой Автономные файлы диалога Свойства папки. С его помощью можно определить, будут ли использоваться автономные файлы (файлы удаленного компьютера, доступ к которым можно получить даже тогда, когда соответствующий компьютер отключен), и если будут, то когда будут синхронизироваться автономные файлы. Можно также определить место на диске, отводимое для автономных файлов и т.д. Чтобы вызвать диалог Настройка автономных файлов, достаточно воспользоваться командой rundll32.exe cscui.dll, CSCOptions_RunDLL.

Существует возможность вызова диалога Параметры синхронизации, с помощью которого можно определить, какие файлы будут синхронизироваться при входе/выходе или простое системы, а также с помощью какого сетевого подключения они будут синхронизироваться (рис. 1.21). Для этого применяется команда rundll32.exe mobsync.dll, DisplayOptions.

Рис. 1.21. Результат выполнения команды rundll32.exe mobsync.dll, displayoptions

Если же вы выбрали первый способ, то для быстрого доступа к вкладке Доступ диалога Свойства можно воспользоваться следующей командой — rundll32.exe ntshrui.dll, SharingDialog «путь к папке». После ее вызова перед вами отобразится довольно экзотический диалог (если посмотреть на расположение кнопок ОK и Отмена), но тем не менее, несмотря на некоторые недостатки, он работает (рис. 1.22).

Рис. 1.22. Конечно, диалог с небольшими дефектами, но зато работает

Существует возможность просмотра списка всех общих ресурсов, доступных на данном компьютере. Для этого применяется оснастка Общие папки. Но более быстрым способом является непосредственный вызов диалога Общие папки — для этого достаточно просто воспользоваться командой rundll32.exe ntlanman.dll, ShareManage. Кроме просмотра списка общих ресурсов, этот диалог позволяет создать новый общий ресурс, просмотреть свойства общего ресурса или прекратить доступ к нему.

Диалог можно вызвать и с помощью команды rundll32.exe ntlanui.dll, ShareManage, являющейся аналогом предыдущей команды.

Мастера установки других компонентов Windows

Как можно было заметить, в операционной системе Windows существует очень много мастеров работы с сетью. Это связано с тем, что настройка сети считается сложной задачей, a Microsoft с каждой версией своей операционной системы пытается все больше упростить функции администрирования Windows. Хотя, глядя на такое разнообразие мастеров настройки сети, легко запутаться в том, для чего они применяются и какой из них лучше использовать. Совершенно по-другому обстоят дела с мастерами настройки других компонентов Windows — их не очень много и можно пересчитать по пальцам. Тем не менее они есть, и уже ради этого стоит рассмотреть способы их вызова. Этим мы сейчас и займемся.

■ rundll32.exe sti_ci.dll, AddDevice — с помощью данной команды можно вызвать Мастер установки сканера или цифровой камеры. То же самое делает команда rundll32.exe wiashext.dll, AddDeviceWasChosen.

■ rundll32.exe TCPMonUI.dll, LocalAddPortUI — позволяет вызвать Мастер добавления стандартного порта TCP/IP принтера (рис. 1.23), с помощью которого можно подключиться к удаленному принтеру.

Рис. 1.23. Результат выполнения команды rundll32.exe TCPMonUI.dll, LocalAddPortUI

■ rundll32.exe upnpui.dll, InstallUPnPUI — при вызове данной команды в сетевом окружении появляются значки сетевых UPnP-устройств. Существует также команда и для удаления сетевых UPnP-устройств — rundll32.exe upnpui.dll, UnInstallUPnPUI.

Другие мастера

Теперь поговорим о различных мастерах, не относящихся к настройке сети или каких-нибудь компонентов Windows. Например, к таким мастерам можно отнести Мастер сброса паролей (рис. 1.24). С его помощью можно сбросить текущий пароль учетной записи пользователя, предоставив данному мастеру дискету с информацией о пароле. Чтобы вызвать окно данного мастера, достаточно воспользоваться командой rundll32.exe KEYMGR.dll, PRShowRestoreFromMsginaW. Можно также применить следующую команду: rundll32.exe KEYMGR.dll, PRShowRestoreWizardExW. Она выполняет аналогичные действия.

Рис. 1.24. Результат выполнения команды rundll32.exe KEYMGR.dll, PRShowRestoreFromMsginaW

Конечно, необходимость данного мастера немного спорна, ведь если вы вошли в систему, то и так знаете пароль учетной записи данного пользователя и сбросить его можно и без предоставления дискеты с информацией о пароле. Кстати, если у вас нет дискеты с паролем, то данным мастером будет довольно сложно воспользоваться. Поэтому предлагаю сейчас же ее создать. Для этого применяется диалог Мастер забытых паролей (рис. 1.25), отобразить который можно с помощью команды rundll32.exe KEYMGR.dll, PRShowSaveFromMsginaW. Аналогичные действия выполняет следующая команда: rundll32.exe KEYMGR.dll, PRShowSaveWizardExW.

Рис. 1.25. Результат выполнения команды rundll32.exe keymgr.dll, PRShowSaveFromMsginaW

Рис. 1.26. Результат выполнения команды rundll32.exe NETPLWIZ.dll, PassportWizardRunDll

Можно вызвать Мастер веб-публикаций, с помощью которого можно опубликовать различные файлы в Интернете или в локальной сети. После этого данные файлы можно будет просмотреть с помощью браузера. Чтобы вызвать данный мастер, достаточно выполнить команду rundll32.exe NETPLWIZ.dll, PublishRunDll.

Диалоги завершения работы Windows

Еще одной разновидностью диалогов, которые используются в Windows, являются различные диалоги-предупреждения, применяемые при попытке выхода пользователя из системы или при необходимости перезагрузки. Большая их часть является обычными окнами, не несущими никакой функциональности, хотя попадаются и такие, которые действительно перезагружают компьютер.

Одним из таких «полнофункциональных» диалогов является окно Мастера настройки Internet Explorer 6 (рис. 1.27), отображаемое при выполнении команды rundll32.exe IEAKENG.dll, DoReboot. После нажатия кнопки Да компьютер действительно начнет перезагружаться.

Рис. 1.27. Результат выполнения команды rundll32.exe IEAKENG.dll, DoReboot

Существует возможность перезагрузить компьютер без вывода каких-либо диалогов. Для этого применяется следующая команда: rundll32.exe IUENGINE.dll, EngRebootMachine, используемая службой Windows Update. После ее выполнения система автоматически закроет все работающие приложения и начнет перезагрузку компьютера.

Вот, в принципе, и все команды rundll32.exe, которые действительно перезагружают компьютер. Но, кроме них, существует еще несколько интересных команд, которые не перезагружают компьютер, но угрожают это сделать. К таким командам можно отнести rundll32.exe MSGINA.dll, ShellShutdownDialog, вызывающую диалоговое окно завершения работы компьютера, в списке которого доступны команды перезагрузки, выключения и перехода в спящий режим (рис. 1.28).

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

Рис. 1.28. Результат выполнения команды rundll32.exe MSGINA.dll, ShellShutdownDialog

Еще одним «нефункциональным» диалоговым окном, которое можно вызвать, является окно с сообщением Данный компьютер используется другим пользователем. Для вызова этого окна необходимо выполнить команду rundll32.exe USER32.dll, DisplayExitWindowsWarnings.

Другие диалоговые окна

В Windows XP присутствуют не только диалоговые окна и мастера для работы с сетью — есть и много других диалоговых окон, некоторые стоят того, чтобы их рассмотреть. Например, существует возможность открытия диалогового окна Сертификаты, предназначенного для просмотра сведений о различных типах сертификатов, установленных на компьютере. Для этого можно выполнить команду rundll32.exe CRYPTUI.dll, CryptUIStartCertMgr, результат чего представлен на рис. 1.29.

Существует возможность вызова диалога Сертификаты, открытого на вкладке Доверенные издатели (в диалоге будет присутствовать только эта вкладка). Для этого необходимо воспользоваться командой rundll32.exe IEAKENG.dll, ModifyAuthCode.

Кроме диалога Сертификаты, команды rundll32.exe позволяют вызвать еще и окно Диспетчера устройств. Для этого достаточно воспользоваться командой rundll32.exe devmgr.dll, DeviceManager_Execute. Это же действие можно выполнить с помощью команды rundll32.exe devmgr.dll, DevicePropertiesA.

Рис. 1.29. Результат выполнения команды rundll32.exe CRYPTUI.dll, CryptUIStartCertMgr

Но и это еще не все. Операционная система Windows XP позволяет открывать следующие диалоговые окна.

■ Rundll32.exe diskcopy, DiskCopyRunDll — позволяет открыть диалоговое окно копирования содержимого одной дискеты на другую (рис. 1.30). После нажатия кнопки Начать будет произведено копирование в память компьютера содержимого дискеты, установленной в дисковод А:. После этого система попросит вставить новую дискету в дисковод А:, на которую будут скопированы данные из памяти компьютера.

Рис. 1.30. Результат выполнения команды Rundll32.exe diskcopy, DiskCopyRunDll

■ rundll32.exe dsquery.dll, OpenQueryWindow — вызов данной команды открывает диалог для поиска в каталоге Active Directory. Если у вас не установлен Active Directory, то диалог все равно будет вызываться, но пользоваться им будет нельзя.

■ rundll32.exe FldrClnr.dll, Wizard_RunDLL ALL — позволяет вызвать Мастер очистки рабочего стола, с помощью которого можно перенести неиспользуемые ярлыки Рабочего стола в специальную папку Неиспользуемые ярлыки. Доступ к этому мастеру также можно получить, нажав кнопку Очистить рабочий стол на вкладке Общие диалога Элементы рабочего стола. Диалог вызывается нажатием кнопки Настройка рабочего стола на вкладке Рабочий стол окна Свойства: Экран.

■ rundll32.exe IEAKENG.dll, BrowseForFolderA «текст» — вызов данной команды отображает диалог, подобный представленному на рис. 1.31. Окно используется для выбора папки, но в нашем случае выбранную папку будет некуда передать, поэтому выполнение данной команды в конечном итоге будет приводить к ошибке. Этот диалог можно вызвать и с помощью команды rundll32.exe IUENGINE.dll, EngBrowseForFolder.

Рис. 1.31. Результат выполнения команды rundll32.exe IEAKENG.dll, BrowseForFolderA «текст»

■ rundll32.exe IEAKENG.dll, ShowDeskCpl — позволяет вывести диалог Свойства: Экран, в котором будет присутствовать только одна вкладка — Рабочий стол. Все остальные вкладки будут скрыты с помощью групповых политик при запуске данной команды (если пользователь не имеет прав на изменение параметров групповых политик, то отображаемый диалог будет содержать все вкладки). После закрытия диалогового окна Свойства: Экран все настройки групповых политик, которые были изменены данной командой, будут удалены.

■ rundll32.exe KEYMGR.dll, KRShowKeyMgr — вызов данной команды отображает диалоговое окно Сохранение имен пользователей и паролей (рис. 1.32).

С помощью этого диалога можно указать или удалить имена пользователей и пароли к различным серверам домена или сети Интернет. После указания этих паролей операционная система Windows будет автоматически их использовать, не спрашивая у вас пароль.

Рис. 1.32. Результат выполнения команды rundll32.exe KEYMGR.dll, KRShowKeyMgr

■ rundll32.exe MSCTF.dll, TF_RunInputCPL — с помощью данной команды вызывается диалог Языки и службы текстового ввода. Благодаря ему можно определить конфигурации клавиш для смены раскладки клавиатуры, раскладку клавиатуры по умолчанию, а также определить настройки языковой панели и дополнительных служб текстового ввода. Доступ к этому диалогу можно получить и после нажатия кнопки Подробнее на вкладке Языки окна Язык и региональные стандарты (intl.cpl).

■ rundll32.exe netplwiz.dll, UsersRunDll — вызов данной команды отображает диалоговое окно для редактирования списка учетных записей пользователей, зарегистрированных в системе (рис. 1.33). С помощью данного диалога можно указать учетную запись пользователя, с правами которого всегда будет выполняться автоматический вход в систему. Для этого достаточно просто снять флажок Требовать ввод имени пользователя и пароля. После этого система попросит вас ввести логин пользователя, с правами которого будет выполняться вход в систему, и его пароль.

Возможность автоматического входа в систему с правами конкретного пользователя можно установить с помощью реестра. Для этого применяются следующие параметры строкового типа из ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon: AutoAdminLogon — если значение данного параметра равно 1, то автоматический вход в систему с правами конкретного пользователя будет включен; DefaultDomainName — параметр определяет домен, к которому будет выполняться подключение; DefaultUserName — параметр определяет логин пользователя, от имени которого будет выполняться автоматический вход в систему; DefaultPassword — параметр определяет пароль для учетной записи, от имени которой будет выполняться вход в систему (внимание, этот пароль не шифруется, поэтому любой сможет его узнать, просмотрев данную ветвь реестра).

Рис. 1.33. Результат выполнения команды rundll32.exe netplwiz.dll, UsersRunDll

■ rundll32.exe newdev.dll, WindowsUpdateDriverSearchingPolicyUi — позволяет вызвать диалог подключения к Windows Update (рис. 1.34), с помощью которого можно указать, разрешено ли подключение компьютера к сайту Microsoft для скачивания обновлений операционной системы. Данный диалог также можно вызвать, нажав кнопку Узел Windows Update на вкладке Оборудование диалога Свойства системы.

Рис. 1.34. Результат выполнения команды rundll32.exe newdev.dll, WindowsUpdateDriverSearchingPolicyUi

Windows Update является простейшим средством для скачивания с узла Microsoft заплат и обновлений для операционной системы Windows или драйверов для различных устройств. Для своей работы сервер Windows Update использует 443 порт, поэтому он должен быть открыт. Перед тем как загрузить на ваш компьютер обновления, Windows Update проверяет версии установленных в операционной системе компонентов, языковые настройки, а также параметры реестра, описывающие лицензирование продукта; если версия операционной системы не является лицензионной (так называемая пиратская версия), то вам будет отказано в доступе к функции Windows Update. Вместе со скачиваемым обновлением будет загружен уникальный идентификатор, применяемый для идентификации вашего компьютера на сервере Windows Update. Корпорация Microsoft утверждает, что этот идентификатор не используется для вашей идентификации в сети Интернет.

■ rundll32.exe RASDLG.dll, RasAutodialDisableDlgA — вызов данной команды отображает диалог сбоя при автоматическом наборе номера (рис. 1.35).

Рис. 1.35. Результат выполнения команды rundll32.exe RASDLG.dll, RasAutodialDisableDlgA

Если нажать кнопку Да этого диалога, то DWORD-параметру 1 будет присвоено значение 1. Параметр расположен в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\RAS AutoDial\Control\Locations.

■ rundll32.exe shdocvw.dll, DoOrganizeFavDlg — позволяет вызвать диалог Упорядочить избранное, отображенный на рис. 1.36. С его помощью можно создавать, удалять или перемещать папки.

Рис. 1.36. Результат выполнения команды rundll32.exe shdocvw.dll, DoOrganizeFavDlg

■ rundll32.exe SHELL32.dll, Options_RunDLL 0 — вызов данной команды отображает диалоговое окно Свойства папки, с помощью которого можно изменить некоторые стандартные настройки оболочки пользователя, отредактировать параметры различных типов файлов, а также получить доступ к вкладке Автономные файлы. Данный диалог можно открыть, выбрав в меню Сервис пункт Свойства папки.

Возможно использование и другой разновидности данной команды, а именно rundll32.exe SHELL32.dll, Options_RunDLL 1. Она позволяет открыть диалоговое окно Свойства панели задач и меню Пуск. Его же можно открыть с помощью команды Свойства контекстного меню Панели задач.

■ rundll32.exe shell32.dll, SHFormatDrive — выполнение данной команды приводит к открытию диалога форматирования (рис. 1.37).

Рис. 1.37. Результат выполнения команды rundll32.exe shell32.dll, SHFormatDrive

■ rundll32.exe syncui.dll, Briefcase_Intro — с помощью данной команды можно отобразить диалог, появляющийся при создании папки Портфель на Рабочем столе с помощью функций оболочки Windows (рис. 1.38).

Рис. 1.38. Результат выполнения команды rundll32.exe syncui.dll, Briefcase_Intro

При этом сама папка Портфель на Рабочем столе создана не будет — для этого необходимо использовать следующую команду: rundll32.exe syncui.dll, Briefcase Create.

Глава 2

Программа rundll32.exe применяется не только для вызова многообразных диалоговых окон Windows. С ее помощью можно выполнить конфигурирование различных настроек операционной системы Windows — от переустановки всевозможных компонентов Windows до восстановления стандартных параметров пользовательской настройки самой операционной системы. Вкратце опишем команды для решения этих задач.

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

Конфигурация Windows

Первым рассмотренным вопросом будет возможность удаления либо повторной регистрации тех или иных частей операционной системы. Это может быть полезно не только при ограничении доступа к различным компонентам, но и для восстановления поврежденных частей операционной системы Windows XP.

Конфигурация компонентов

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

■ AutoDisc.dll — применяется для повторной регистрации (или удаления) в реестре информации, необходимой для автообнаружения электронной почты почтовым клиентом Outlook Express.

■ btpanui.dll — используется для повторной регистрации (или удаления) в реестре ActiveX-объектов, необходимых для работы пользовательского интерфейса Bluetooth (Bluetooth PAN User Interface).

■ CABVIEW.dll — удаление регистрационных данных библиотеки приводит к удалению возможности работы со стандартной программой Windows, предназначенной для работы с файлами с расширением CAB. Регистрация же данной библиотеки приводит к регистрации в реестре расширения CAB.

Перед удалением регистрационных параметров программы для работы с САВ-файлами операционная система ищет в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\Uninstall разделы CabView и MSCabFileView. Если она их найдет, то будут выполнены команды, записанные в этих разделах, а потом эти разделы будут удалены.

Можно также удалить саму программу для чтения CAB-файлов. Для этого используется команда rundll32.exe CABVIEW.dll, Uninstall. После ее выполнения операционная система попросит подтвердить удаление программы для просмотра САВ-файлов.

■ camocx.DLL — применяется для повторной регистрации (или удаления) в реестре информации, необходимой для работы с камерами и сканерами на данном компьютере.

■ capesnpn.dll — используется для повторной регистрации (или удаления) в реестре информации о расширениях центра сертификации.

■ CdfView.dll — регистрация данной библиотеки приводит к замене сведений о расширениях файлов, предназначенных для работы с файлами каналов Интернета, стандартными настройками этих расширений.

■ CSCUI.dll — при рассказе о командах rundll32.exe, предназначенных для работы с оболочкой Windows, упоминалось о команде, которая отображает диалог Настройка автономных файлов. Возможность работы с автономными файлами присутствовала еще в Windows 2000, но иногда она может быть лишней или даже совершенно ненужной, например, когда пользователи сети постоянно создают такие автономные файлы, а администратору приходится их удалять, так как необходимости в них нет. В этом случае лучшим решением будет простое удаление всех регистрационных данных о библиотеке CSCUI.dll, которая как раз и отвечает за автономные файлы. Для этого, как уже известно, достаточно воспользоваться командой rundll32.exe CSCUI.dll, DllUnregisterServer. После этого вкладка Автономные файлы исчезнет из диалогового окна Свойства папки. Для ее возвращения достаточно просто зарегистрировать библиотеку CSCUI.dll.

Другим способом отключения автономных файлов является удаление возможности синхронизации компьютеров, хотя в этом случае будет трудно выполнить синхронизацию компьютера с другими устройствами, например с мобильным телефоном. Чтобы удалить возможность синхронизации, достаточно воспользоваться командой rundll32.exe mobsync.dll, DllUnregisterServer.

■ DATACLEN.dll — позволяет зарегистрировать в системе сведения очистки дисков Windows.

■ DSKQUOTA.dll — еще одной возможностью, которую предоставляет система, является возможность добавления или удаления настройки квот на диски для различных учетных записей пользователей компьютера. Квоты позволяют указать, сколько места отведено на конкретном диске (диск должен быть отформатирован с помощью файловой системы NTFS) для файлов конкретного пользователя компьютера. Если пользователь попытается занять больше места на диске, чем ему разрешено, то система откажет ему в записи информации на диск (или выведет предупреждение в зависимости от настроек квот). Настройки квот выполняются на вкладке Квота диалога Свойства диска, для которого необходимо указать квоты. Если же диалог Свойства не имеет вкладки Квота, то либо данный диск отформатирован с использованием файловой системы FAT32 или более ранней файловой системы, либо в реестре данные о настройке квот повреждены. Чтобы восстановить их, достаточно воспользоваться командой rundll32.exe DSKQUOTA.dll, DllRegisterServer. Как и предыдущие библиотеки, она также позволяет использовать для удаления возможности создания квот на диски функцию DllRegisterServer.

■ dsquery.dll — описывает возможность поиска в службе каталогов Active Directory и позволяет зарегистрировать или удалить данную возможность.

■ DSSENH.dll — позволяет зарегистрировать или удалить возможность шифрования по алгоритму Диффи-Хеллмана. Можно также зарегистрировать алгоритм шифрования для смарт-карт Gemplus. Для этого используется библиотека gpkcsp.dll.

Алгоритм Диффи-Хеллмана (в Windows он также называется протоколом распределения открытых ключей) позволяет двум участникам сетевого соединения совместно создать секретный ключ, который будет использоваться ими для шифрования пакетов данных при передаче по сети. Несмотря на то, что в действительности алгоритм Диффи-Хеллмана не является асимметричным алгоритмом шифрования, он имеет все положительные стороны, присущие таким алгоритмам, поэтому его принято считать именно асимметричным алгоритмом шифрования.

■ fontext.dll — перерегистрировать и пересоздать стандартную папку Windows Шрифты (%systemroot%\Шрифты).

■ INITPKI.dll — с помощью регистрации данной библиотеки можно переустановить все настройки центров сертификации и PKI.

■ rundll32.exe ncxpnt.dll, InstallSharing — позволяет переустановить службы работы с папками общего доступа. Если по какой-либо причине на компьютере нельзя создать папки общего доступа (когда отключена служба Сервер, общие папки также создавать нельзя), то можно попробовать воспользоваться данной командой, возможно, были повреждены какие-нибудь сведения реестра, которые можно переустановить.

■ rundll32.exe NTPRINT.dll, ServerInstallW — позволяет установить диспетчер очереди печати.

■ rundll32.exe shimgvw.DLL, DllRegisterServer — с помощью данной команды можно зарегистрировать программу просмотра изображений и факсов (после этого в контекстном меню файлов изображений появится команда Просмотр для открытия данных файлов в этой программе). Если же вы не пользуетесь этой программой, то существует возможность ее удаления (при этом произойдет также удаление команды Просмотр контекстного меню файлов изображений). Для этого достаточно выполнить команду rundll32.exe shimgvw.DLL, DllUnregisterServer.

■ SlayerXP.DLL — если в диалоге Свойства исполняемых файлов (или ярлыков исполняемых файлов) на вашем компьютере отсутствует вкладка Совместимость, с помощью которой можно запустить программу в режиме совместимости с другими операционными системами Windows (рис. 2.1), то можно попробовать зарегистрировать данную библиотеку — именно она отвечает за возможность использования функции совместимости. Можно также воспользоваться функцией DllUnregisterServer для скрытия вкладки Совместимость.

Рис. 2.1. Вкладка Совместимость диалога Свойства исполняемых файлов или ярлыков на них

■ rundll32.exe sti_ci.dll, InstallWiaService — с помощью данной команды можно установить службу неподвижных изображений. Служба предназначена для работы со сканерами и цифровыми камерами.

■ rundll32.exe WebCheck.dll, DllRegisterServer — позволяет зарегистрировать возможность подписки веб-узлов.

■ rundll32.exe WININET.dll, Dlllnstall — вызов данной команды восстанавливает по умолчанию настройки из ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Passport.

Конфигурация стандартных консолей

Консоль — это специальный файл для работы с консолью управления Microsoft (программа mmc.exe, о которой будет рассказано в главе 3 книги), имеющий расширение MSС и содержащий одну или несколько оснасток. Кроме пользовательских консолей, которые вы можете создать на основе оснасток, используемых вами в работе чаще всего, существуют также стандартные консоли, поставляемые вместе с операционной системой Windows. Вот о работе этих стандартных консолей мы сейчас вкратце и поговорим.

Большая часть стандартных консолей Windows включает в себя одну оснастку. Каждая оснастка должна быть зарегистрирована в реестре, чтобы ею можно было воспользоваться. Например, если оснастка не будет зарегистрирована в системе, то при попытке открытия консоли, содержащей эту оснастку, перед вами отобразится диалог, подобный приведенному на рис. 2.2.

Рис. 2.2. Ошибка инициализации оснастки, вызванная отсутствием сведений о ней в реестре

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

■ rundll32.exe devmgr.dll, DllRegisterServer — позволяет зарегистрировать оснастку Диспетчер устройств (devmgmt.msc), с помощью которой можно просмотреть конфигурацию и состояние установленного на компьютере оборудования.

■ rundll32.exe els.dll, DllRegisterServer — дает возможность зарегистрировать оснастку Просмотр событий (eventvwr.msc), с помощью которой можно просмотреть записи журналов Система, Приложений или Безопасность.

■ rundll32.exe FILEMGMT.DLL, DllRegisterServer — позволяет зарегистрировать оснастку Общие папки (fsmgmt.msc), с помощью которой можно просмотреть сведения обо всех папках общего доступа данного компьютера, а также удалить или добавить общую папку.

■ rundll32.exe GPEDIT.DLL, DllRegisterServer — дает возможность зарегистрировать оснастку Групповые политики (gpedit.msc), с помощью которой настраиваются различные ограничения для учетной записи пользователя.

■ rundll32.exe IEAKSIE.DLL, DllRegisterServer — с помощью данной команды не регистрируется оснастка как таковая. В данном случае можно зарегистрировать возможность настройки групповых политик для браузера Internet Explorer (доступ к этим настройкам можно получить с помощью оснастки gpedit.msc — Конфигурация пользователя►Конфигурация Windows►Настройка Internet Explorer).

■ rundll32.exe IPSECSNP.DLL, DllRegisterServer — выполнение команды приводит к регистрации в реестре оснастки IPSEC.

■ rundll32.exe IPSMSNAP.DLL, DllRegisterServer — позволяет зарегистрировать в реестре оснастку Монитор IP-безопасности, с помощью которой можно просмотреть такие сведения о текущем сетевом сеансе, как количество принятых и отправленных байт, количество принятых cookies и т.д.

■ rundll32.exe localsec.dll, DllRegisterServer — дает возможность зарегистрировать оснастку Локальные пользователи и группы (lusrmgr.msc), позволяющую добавить, удалить или отредактировать группу, к которой принадлежит учетная запись конкретного пользователя.

■ rundll32.exe mycomput.dll, DllRegisterServer — позволяет зарегистрировать консоль Управление компьютером (compmgmt.msc), которая содержит оснастки на все случаи жизни: Просмотр событий, Общие папки, Локальные пользователи и группы, Журналы и оповещение производительности, Диспетчер устройств, Съемные ЗУ и т. д.

■ rundll32.exe SnmpSnap.dll, DllRegisterServer — выполнение команды приводит к регистрации оснастки расширения SNMP.

Существует противоположная возможность — удаление сведений о конкретной оснастке. Для этого понадобится воспользоваться командой соответствующей библиотеки DllUnregisterServer.

Если же ни одна из предыдущих команд не помогла, то можно попробовать воспользоваться командой rundll32.exe MMCNDMGR.DLL, DllRegisterServer. Она перерегистрирует в реестре саму консоль управления Microsoft, а также некоторые стандартные оснастки данной консоли.

Восстановление Windows

В конце данного раздела рассмотрим несколько команд, которые можно использовать для восстановления многих пользовательских настроек операционной системы Windows к их стандартному состоянию (такими, какими они были в момент установки системы).

■ rundll32.exe SHELL32.dll, DllInstall — вызов данной команды восстанавливает по умолчанию настройки основных стандартных ActiveX-объектов системы, а также настройки параметров ветвей реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced и т. д.

■ rundll32.exe SYSSETUP.dll, RepairStartMenuItems — выполнение этой команды восстанавливает по умолчанию содержимое меню Пуск (при этом ссылки на установленные программы не исчезают). По умолчанию устанавливаются параметры ветви системного реестра HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders, определяющей пути к папкам Windows (Мои документы, Мои рисунки, Мои видеозаписи и т. д.). Результат выполнения данной команды можно увидеть на рис. 2.3.

Рис. 2.3. Результат выполнения команды rundll32.exe SYSSETUP.dll, RepairStartMenultems

■ rundll32.exe SYSSETUP.dll, RunOEMExtraTasks — вызов данной команды возвращает на Рабочий стол ярлыки Проигрывателя Windows Media и Internet Explorer. Это выполняется путем присваивания значения yes параметру строкового типа DesktopShortcut, расположенному в ветви системного реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Setup, а также путем присваивания значения 0 параметру DWORD-типа <871С5380-42A0-1069-A2EA-08002B30309D>, расположенному в ветвях реестра Windows HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu и HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ NewStartPanel.

■ rundll32.exe SYSSETUP.dll, SetupOobeCleanup — вызов данной команды очищает наиболее важные файлы операционной системы. При этом удаляются и заново создаются (на основе текущих настроек операционной системы) все кусты реестра, а также удаляются различные ТМР-файлы.

После применения функций из библиотеки SYSSETUP.dll могут быть заменены стандартные системные файлы, поэтому все установленные в операционной системе заплаты и пакеты обновлений придется переустановить заново.

Файловая система

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

Создание файлов

Например, для создания файла можно воспользоваться командой rundll32.exe admparse.dll, CheckDuplicateKeysA «путь и имя файла с расширением». Она имеет один большой недостаток — после запуска вызывает ошибку. Тем не менее со своей работой она справляется — после ее выполнения будет создан или заново переписан указанный в параметре функции файл.

Например, подобные команды можно использовать для очистки файлов журналов при входе пользователей в систему, указывая их в одном из параметров реестра, предназначенных для автозагрузки.

Удаление файлов и папок

С помощью команд rundll32.exe можно удалить каталог или файл. Для этого достаточно воспользоваться приведенной далее командой: rundll32.exe ADVPACK.dll, DelNodeRunDLL32 «путь к кaтaлогу или файлу». Функция DelNodeRunDLL32 была написана специально для вызова с помощью команды rundll32.exe, поэтому никаких ошибок при своей работе она не выдает.

Существует еще одна команда, с помощью которой можно выполнить удаление. Но с ее помощью можно удалить только содержимое, а не сам каталог (то есть переписать необходимый каталог). Это команда rundll32.exe IEAKENG.dll, BToolbar_SaveA «путь к папке». Если указанная в данной команде папка уже существует, то она будет автоматически удалена, а потом заново создана.

Существует один интересный плюс этой команды — с ее помощью можно создать папки даже там, где пользователю это сделать нельзя. Например, в каталоге %userprofile%\Local Settings\Temporary Internet Files\Content.IE5.

Последняя команда, которую мы рассмотрим, — rundll32.exe WININET.dll, RunOnceUrlCache «путь к каталогу». Это очень страшная и непредсказуемая команда. Она имеет примерно следующий алгоритм работы: сначала она пытается открыть все содержащиеся в указанной папке файлы и папки. Если при попытке открытия файла или папки система вернула данной команде флаг FILEATTRIBUTETAGINFORMATION, то команда удаляет соответствующий файл или папку.

Данная команда используется браузером Internet Explorer для удаления временных файлов из папки %userprofile%\Local Settings\Temporary Internet Files при закрытии окна браузера, если значение DWORD-параметра Persistent из ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Cache равно 0.

Выполнение файлов

Теперь рассмотрим несколько команд для выполнения или регистрации файлов. Например, как можно установить INF-файл с помощью команды rundll32.exe? Для этого применяется несколько команд, каждая из которых предназначена для отдельной версии INF-файлов.

Чтобы установить обычный INF-файл, необходимо воспользоваться следующей командой — rundll32.exe setupapi.dll, InstallHinfSection «раздел в файле для начала установки», «флаг», «путь и имя файла». При этом «флаг» может принимать следующие значения:

■ 0 — не перезагружать компьютер после установки INF-файла;

■ 1 — перезагружать компьютер после установки INF-файла;

■ 2 — спрашивать о перезагрузке компьютера после установки INF-файла;

■ 3 — если нужно, то перезагружать компьютер после установки INF-файла;

■ 4 — если нужно, то спрашивать о перезагрузке компьютера после установки INF-файла.

Например, с помощью данной команды можно выполнить следующие действия.

■ rundll32.exe setupapi.dll, InstallHinfSection DefaultInstall 132 wsh.inf — восстановление в реестре настроек сервера сценариев Windows, а также расширений, ему необходимых.

■ rundll32.exe setupapi.dll, InstallHinfSection DefaultInstall 132 sr.inf — воссоздание в реестре настроек службы Восстановление системы, а также ярлыка программы Восстановление системы в меню Пуск.

■ rundll32.exe setupapi.dll, InstallHinfSection DefaultInstall 132 %17%\PCHealth.inf — восстановление настроек службы для работы с Центром справки и поддержки.

■ rundll32.exesetupapi.dll, InstallHinfSection DefaultUninstall 132 %17%\PCHealth.inf — удаление настроек службы для работы с Центром справки и поддержки.

■ rundll32.exe setupapi.dll, InstallHinfSection DefaultInstall 132 %17%\dfrg.inf — восстановление настроек оснастки dfrg.msc и функции BootDefrag.

■ rundll32.exe setupapi.dll, InstallHinfSection RestoreBrowserSettings 132 %17%\iereset.inf — воссоздание настроек браузера Internet Explorer.

Для того чтобы зарегистрировать расширенный INF-файл, вам понадобится команда rundll32.exe ADVPACK.dll, LaunchINFSectionEx «имя файла», «имя раздела», «имя cab-файла», «флаг». Она для своей работы требует как стандартные параметры функции установки (имя INF-файла и раздел в нем, с которого начинается установка), так и специальные параметры.

■ Имя САВ-файла, содержащего все файлы, которые устанавливает данный расширенный INF-файл при своей работе.

■ Флаг работы процесса установки, наиболее полезные значения которого следующие:

• 4 — не выводить промежуточные результаты установки INF-файла;

• 16 — обновить оболочку операционной системы после установки INF-файла;

• 32 — выполнить резервное копирование данных перед установкой;

• 64 — выполнить откат установленного INF-файла;

• 256 — не строить список файлов при установке INF-файла;

• 512 — при установке INF-файла принудительно задерживать регистрацию ActiveX-объектов, которые должны быть зарегистрированы с помощью данного INF-файла.

Теперь рассмотрим набор команд rundll32.exe, предназначенных для открытия файлов Windows, имеющих специальные расширения и содержимое.

■ rundll32.exe CdfView.dll, OpenChannel «путь и имя файла канала» — открыть данный файл канала.

■ rundll32.exe CdfView.dll, Subscribe «путь и имя файла подписчика» — сделать данный канал доступным автономно.

■ rundll32.exe CRYPTEXT.dll, CryptExtAddCER «файл сертификата безопасности» — добавить данный файл сертификата безопасности.

■ rundll32.exe CRYPTEXT.dll, CryptExtAddCRL «файл списка отзывов сертификатов» — присоединить данный список отзыва сертификатов.

■ rundll32.exe CRYPTEXT.dll, CryptExtAddCTL «файл списка доверия сертификатов» — добавить данный список доверия сертификатов.

■ rundll32.exe CRYPTEXT.dll, CryptExtAddP7R «файл ответа на запрос сертификата» — присоединить данный файл ответа на запрос сертификата.

■ rundll32.exe CRYPTEXT.dll, CryptExtAddPFX «файл обмена личной информацией» — добавить данный файл обмена личной информацией.

■ rundll32.exe CRYPTEXT.dll, CryptExtAddSPC «файл сертификата PCKS #7» — присоединить данный файл сертификата PCKS #7.

■ rundll32.exe CRYPTEXT.dll, CryptExtOpenCAT «файл каталога безопасности» — открыть данный файл каталога безопасности.

■ rundll32.exe CRYPTEXT.dll, CryptExtOpenCER «файл сертификата безопасности» — открыть указанный файл сертификата безопасности.

■ rundll32.exe CRYPTEXT.dll, CryptExtOpenCRL «файл списка отзывов сертификатов» — открыть данный файл списка отзывов сертификатов.

■ rundll32.exe CRYPTEXT.dll, CryptExtOpenCTL «файл списка доверия сертификатов» — открыть указанный файл списка доверия сертификатов.

■ rundll32.exe CRYPTEXT.dll, CryptExtOpenP10 «файл запроса на сертификат» — открыть данный файл запроса на сертификат.

■ rundll32.exe CRYPTEXT.dll, CryptExtOpenP7R «файл ответа на запрос сертификата» — открыть указанный файл ответа на запрос сертификата.

■ rundll32.exe CRYPTEXT.dll, CryptExtOpenPKCS7 «файл сертификата PCKS #7» — открыть данный файл сертификата PCKS #7.

■ rundll32.exe CRYPTEXT.dll, CryptExtOpenSTR «файл хранилища сертификатов» — открыть указанный файл хранилища сертификатов.

■ rundll32.exe dsquery.dll, OpenSavedDsQuery «файл запроса к службе каталогов ActiveDirectory»— при вызове команды происходит попытка выполнить файл запроса к каталогу Active Directory.

■ rundll32.exe msconf.dll, NewMediaPhone «путь к файлу»— открыть данный файл телефонии. Эта команда используется программой NetMeeting для открытия соответствующих файлов.

■ rundll32.exe msconf.dll, OpenConfLink «путь к файлу» — команда также используется программой NetMeeting. Именно с помощью этой команды создаются ярлыки различных конференций (для автоматического соединения с другими сетевыми компьютерами).

■ rundll32.exe netshell.dll, InvokeDunFile — открыть DUN-файл (Dialup Networking File).

■ rundll32.exe SHDOCVW.dll, OpenURL «путь к файлу» — открыть файл ярлыка Интернета (имеет расширение URL), указанный в качестве параметра функции.

Функция Control_RunDLL используется и в таких командах:

• rundll32.exe shell32.dll, Control_RunDLL desk.cpl desk, @Appearance — открыть диалоговое окно Свойства: Экран на вкладке Оформление;

• rundll32.exe shell32.dll, Control_RunDLL desk.cpl desk, @Appearance /Action:OpenMSTheme /file:«путь к файлу темы рабочего стола»и rundll32.exe shell32.dll, Control_RunDLL desk.cpl desk, @Appearance /Action:OpenTheme /file:«путь к файлу темы рабочего стола» — установить файл стиля оформления Windows XP;

• rundll32.exe shell32.dll, Control_RunDLL desk.cpl desk, @Desktop — открыть диалог Свойства: Экран на вкладке Рабочий стол;

• rundll32.exe shell32.dll, Control_RunDLL desk.cpl desk, @Settings — открыть диалог Свойства: Экран на вкладке Параметры;

• rundll32shell32.dll, Control_RunDLL NetSetup.cpl,@0, WNSW — отобразить окно Мастера беспроводной сети;

• rundll32 shell32.dll, Control_RunDLL NetSetup.cpl — отобразить окно Мастера настройки сети.

Особо стоит сказать о двух командах Control_RunDLL, использующих для своей работы библиотеки Windows:

• rundll32.exe shell32.dll, Control_RunDLL hotplug.dll — вызов данной команды отображает диалог «горячего» удаления внешнего устройства (рис. 2.4).

Рис. 2.4. Результат выполнения команды rundll32.exe shell32.dll, Control_RunDLL hotplug.dll

• rundll32.exe shell32.dll, Control_RunDLL input.dll — позволяет вызвать диалог Язык и службы текстового ввода.

При выполнении приведенной выше команды без указания какого-либо CPL или DLL-файла будет открыто окно Панель управления.

■ rundll32.exe shell32.dll, OpenAs_RunDLL «путь и имя файла» — с помощью данной команды можно отобразить диалоговое окно Открыть с помощью для открытия указанного в параметре функции файла. Например, можно открыть исполняемый файл программы в Блокноте или с помощью другой программы (по умолчанию исполняемые файлы нельзя вызывать с помощью диалога Открыть с помощью).

■ rundll32.exe shimgvw.DLL, ImageView_Fullscreen «путь к файлу изображения» — позволяет открыть указанный файл изображения с помощью программы просмотра изображений и факсов.

Выполнение команд

Существует еще одна интересная возможность, которую можно использовать при разработке файлов сценариев, — выполнение команд, записанных в ветви реестра. Для этого применяются функции библиотеки ADVPACK.dll. Например, после выполнения команды rundll32.exe ADVPACK.dll, UserInstStubWrapper «подраздел» система выполнит строку, содержащуюся в параметре строкового типа RealStubPath, расположенном в ветви реестра HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Active Setup\Installed Components\«подраздел» (по умолчанию параметр отсутствует). Одновременно плюсом и минусом данной команды является то, что программа, которую вы запустите после обработки содержимого параметра RealStubPath, будет запущена как процесс, то есть ей будет отказано во взаимодействии с Рабочим столом и она не сможет отобразить свое окно. Минус этого ясен, а плюс можно определить на примере. Если указать в параметре RealStubPath ветви системного реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\para следующую команду: rundll32.exe amovie.ocx, RunDll /play /close e:\music\B-2\волки.wma, которая уже была описана в гл. 1, то после вызова команды rundll32.exe ADVPACK.dll, UserInstStubWrapper para будет воспроизведен данный музыкальный файл. При этом проигрывание данного файла можно будет прекратить только выгрузкой из памяти процесса rundll32.exe, который породил это воспроизведение, ведь никакого окна индикации открытого файла отображено не будет.

Можно также воспользоваться разновидностью приведенной выше команды — rundll32.exe ADVPACK.dll, UserUnInstStubWrapper «подкаталог». После ее вызова будет выполнена строка параметра RealStubPath, расположенного в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\«подкаталог».Restore. Например, выполнение команды rundll32.exe ADVPACK.dll, UserUnInstStubWrapper para будет использовать параметр из ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Active Setup\Installed Components\para.Restore.

Кроме функций библиотеки ADVPACK.dll, существует еще одна возможность запуска команд из реестра — использование ветви реестра HKEY_CURRENT_USER\ Software\Microsoft\Windows\CurrentVersion\RunOnceEx (данная ветвь присутствует и в корневом разделе HKEY_LOCAL_MACHINE). По умолчанию ее содержимое выполняется только при следующем входе пользователя в систему, хотя существует возможность сказать системе, чтобы она обработала содержимое этой ветви немедленно. При этом все команды из ветви после своего выполнения автоматически удаляются. Следует также учитывать одну особенность ветви — если в ней будет определено несколько запусков программ, то все они будут запускаться последовательно. Сначала запустится первая программа, после того, как пользователь ее закроет, запустится вторая программа и т.д.

Формат содержимого данной ветви немного отличается от формата подобных ей ветвей, направленных на выполнение команд при входе пользователя в систему (например, ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run). Каждая программа или команда, которая должна быть запущена, записывается в отдельный раздел данной ветви реестра — название раздела не имеет значения, но лучше последовательно пронумеровать эти разделы, чтобы система могла легко определить, какая программа должна запускаться первой. Параметр По умолчанию каждого раздела определяет название, которое будет отображаться в диалоге индикации установки при выполнении программы, определенной в соответствующем разделе реестра. При этом если параметр По умолчанию не определен, то в диалоге индикации не будет никакой информации о запуске данной программы или команды, хотя она будет запущена. Сама же программа или команда записывается в значении строкового параметра соответствующего раздела (название параметра не имеет значения). В разделе можно определить несколько команд, записав их в несколько строковых параметров, — все эти команды будут выполняться последовательно на данном шаге установки.

Чтобы лучше понять формат данной ветви реестра, рассмотрим один пример. Ниже в листинге приведен пример записей ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceEx, экспортированных в REG-файл.

Листинг 2.1. Пример содержимого раздела реестра RunOnceEx

Windows Registry Editor Version 5.00

Допустим, содержимое приведенного листинга находится в реестре. Теперь нужно ввести команду rundll32.exe IERNONCE.dll, RunOnceExProcess. Она указывает системе, что та должна обработать содержимое ветви системного реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceEx. Результат обработки данной ветви можно увидеть на рис. 2.5.

Рис. 2.5. Способ работы запуска команд из ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceEx

Как видно на рисунке, при запуске команды rundll32.exe появляется диалог индикации, в котором указано, какой шаг установки сейчас выполняется. При этом был запущен Калькулятор, так как при сортировке между названиями параметров в разделе 1 Калькулятор, судя по названию параметра, запускается первым. После того как вы закроете окно Калькулятора, будет открыто окно командного процессора. При этом индикатор будет все еще указывать на первый шаг, ведь еще не началась обработка содержимого следующего раздела ветви (раздела 2). После того как вы закроете окно командного процессора, будет запущен Блокнот, и при этом индикатор начнет указывать на второй шаг операции установки.

Если вы не укажете значений параметров по умолчанию ни в одном из разделов данной ветви реестра, то индикатор установки отображаться не будет. Тем не менее сами команды будут выполняться.

Другие операции

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

■ rundll32.exe INITPKI.dll, InitializePKI — позволяет установить поддержку файлов расширений сертификатов и отношения доверия в Active Directory.

■ rundll32.exe mobsync.dll, RegSetUserDefaults — с помощью данной команды можно быстро восстановить стандартные настройки синхронизации текущего пользователя при помощи сетевого соединения LAN. Все эти настройки находятся в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Syncmgr\AutoSync\«имя пользователя», которую команда и переписывает при своем запуске.

■ rundll32.exe mshtml, PrintHTML «путь к файлу» — с помощью этой команды можно вызвать диалог Печать для печати указанного файла.

■ rundll32 printui.dll, PrintUIEntry /s — позволяет отобразить диалоговое окно Свойства: Сервер печати. Аналогичное окно можно вызвать и с помощью контекстного меню папки Принтеры и факсы. Для этого в данном контекстном меню нужно выбрать команду Свойства сервера.

■ rundll32.exe MSI39.dll, VMAskDisableAutorun — очень интересная команда, которая используется при установке программы VMware. Сейчас практически повсюду можно услышать совет о том, как с помощью реестра отключить функцию автозапуска компакт-дисков — для этого нужно DWORD-параметру AutoRun, расположенному в ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom, присвоить значение 0. Можно это сделать и без обращения к реестру — достаточно вызвать данную команду, после чего перед вами отобразится диалог с вопросом, действительно ли вы хотите отключить автозапуск дисков (рис. 2.6), на который нужно ответить Yes. Следует только учитывать, что если автозапуск уже отключен, то никакого диалога выведено не будет.

Рис. 2.6. Результат выполнения команды rundll32.exe MSI39.dll, VMAskDisableAutorun

Если же вы уже запретили автозапуск компакт-дисков, то с помощью еще одной команды — rundll32.exe MSI39.dll, VMRestoreRegistry— можно включить его снова.

■ rundll32.exe NETPLWIZ.dll, ClearAutoLogon — еще одна интересная команда. Сейчас стало модно конфигурировать на компьютере автоматический вход в систему с правами указанного пользователя. Как вызвать диалог для этого, было рассказано ранее, сейчас же мы решим задачу отключения данной функции. Функция полезна лишь в домашних условиях — в корпоративной сети ее установка на клиентских компьютерах может создать большую брешь в среде безопасности предприятия. Если вам все время приходится проверять компьютеры на автоматический вход в систему, то для облегчения своей работы вы можете воспользоваться данной командой, ведь после ее вызова функция автоматического входа в систему будет отключена.

■ rundll32.exe NETPLWIZ.dll, SHDisconnectNetDrives — вызов данной команды приводит к отключению всех сетевых дисков (дисков, которые создаются с помощью команды Подключить сетевой диск в меню Сервис папки или в контекстном меню значка Мой компьютер). Если на данный момент ни один диск не подключен, то будет выведено сообщение о том, что сетевых дисков, которые можно отключить, нет.

Сам же мастер подключения сетевых дисков можно вывести не только с помощью меню Сервис или контекстного меню значка Мой компьютер, но и с помощью команды rundll32.exe shell32.dll, SHHelpShortcutsRunDLL Connect. При этом с помощью команды rundll32.exe shell32.dll, SHHelpShortcuts_RunDLL Disconnect можно выполнить отключение дисков.

■ rundll32.exe netshell.dll, DoInitialCleanup — выполнение данной команды удаляет содержимое ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards.

■ rundll32.exe NTPRINT.dll, PSetupKillBadUserConnections — вызов данной команды очищает неработающие соединения с принтерами. Список всех соединений с принтерами можно найти в ветви реестра HKEY_CURRENT_USER\Printers\Connections, которую как раз и просматривает данная команда.

При этом список неработающих соединений находится в параметре строкового типа Bad Connections, расположенном в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print.

■ rundll32.exe NWCFG.dll, CleanupRegistryForNWCS — позволяет очистить реестр от настроек NWC (оболочка расширения для NetWare). После выполнения команды параметру NwcsInstalled в ветви HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NWCS присваивается значение 0 (имеет тип DWORD). При запуске данной команды удаляется содержимое ветвей реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved (только несколько параметров) и HKEY_CLASSES_ROOT\Network\Type\3, а также сведения об ActiveX-объектах.

Если же вам необходимо выполнить обратную операцию, то есть установить или перерегистрировать в реестре информацию об NWC, то можно воспользоваться командой rundll32.exe NWCFG.dll, SetupRegistryForNWCS, которая именно для этого и предназначена.

■ rundll32.exe NWPROVAU.dll, NwCleanupGatewayShares — выполнение этой команды очищает список общих папок для клиентов NetWare. Список расположен в двух ветвях реестра — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWCWorkstation\Shares и HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWCWorkstation\Drives. Содержимое именно этих ветвей и удаляется соответствующей командой.

■ rundll32.exe powrprof.dll, SetSuspendState — вызов данной команды переводит компьютер в состояние спящего режима (если этот режим поддерживается оборудованием и включен на вкладке Спящий режим диалога Электропитание). Спящий режим — это режим работы компьютера, при котором все содержимое памяти сбрасывается на жесткий диск и компьютер выключается. Плюсом является быстрый переход между спящим режимом и обычным состоянием компьютера — в зависимости от объема оперативной памяти, установленной на компьютере, после подачи питания до входа в систему проходит отнескольких секунд до нескольких десятков секунд (не учитывая время на самотестирование компьютера). При этом пропускаются такие шаги загрузки, как выбор операционной системы (если на компьютере используется несколько операционных систем) и собственно регистрация пользователя в системе — просто содержимое сброшенной на жесткий диск памяти помещается обратно в оперативную память, и работа системы продолжается, как будто никакого спящего режима не было.

■ rundll32.exe RASAPI32.dll, RasSetSharedAutoDial — выполнение данной команды присваивает DWORD-параметру SharedAutoDial значение, равное 1. Он находится в ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters.

■ rundll32.exe rasdlg.dll, RasUserEnableManualDial — выполнение данной команды присваивает DWORD-параметру OperatorDial значение, равное 1. Он находится в ветви реестра HKEY_USERS\.DEFAULT\Software\Microsoft\RAS Logon Phonebook.

■ rundll32.exe rasman.dll, RasDoIke — выполнение данной команды может привести к частичному зависанию компьютера. Сначала нельзя получить доступ к Панели задач и меню Пуск, а также ко всем открытым приложениям. При попытке открытия Диспетчера задач происходит полное зависание компьютера. При этом такие программы, как Проигрыватель Windows Media, будут работать, будет возможно обращаться к общедоступным папкам компьютера, но нельзя будет получить доступ к оболочке операционной системы.

■ rundll32.exe shell32.dll, Control_FillCache_RunDLL — позволяет выполнить начальную инициализацию Панели управления.

■ rundll32.exe SPOOLSS.DLL, UpdatePrinterRegAll — с помощью этой команды можно обновить в реестре все сведения о принтерах системы для всех пользователей. Команда удаляет (и заново создает на основе текущих данных) следующие ветви реестра: HKEY_CURRENT_USER\Printers\DevModePerUser, HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Devices, HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts.

Ярлык Мастера работы со сканером или цифровой камерой можно создать и с помощью команды rundll32.exe sti_ci.dll, WiaCreateWizardMenu.

■ rundll32.exe syncui.dll, Briefcase_Create — с помощью этой команды на Рабочем столе можно создать папку Портфель, которая по своей функциональности напоминает автономные файлы. При подключении ноутбука или карманного компьютера (КПК) при использовании папки Портфель система будет сверять ее содержимое на ноутбуке с содержимым на настольном компьютере. Если в данной папке на компьютере (или ноутбуке) будут найдены новые версии файлов, они автоматически заменят собой более старые версии, хранящиеся в папке, расположенной на ноутбуке (или на компьютере соответственно).

■ rundll32.exe url.dll, FileProtocolHandler «путь к каталогу» — вызов данной команды приводит к открытию в Проводнике соответствующей папки. Возможен вызов данной команды без параметра — в этом случае будет открыта папка профиля текущего пользователя (%userprofile%).

■ rundll32.exe url.dll, TelnetProtocolHandler «IP-адрес удаленного компьютера» — позволяет подключиться с помощью telnet к указанному вами удаленному компьютеру.

■ rundll32.exe user32.dll, LockWorkStation — с помощью этой команды можно заблокировать работу компьютера. Теперь доступ к компьютеру можно будет получить, только если ввести пароль текущего зарегистрированного в системе пользователя или пароль учетной записи администратора компьютера.

■ rundll32.exe USER32.dll, mouse_event — необычная команда. Первый ее запуск эквивалентен нажатию (но не отпусканию) правой кнопки мыши. После выполнения этой команды в первый раз при перемещении указателя мыши будет отображаться прямоугольник выделения. Второй же запуск данной команды эквивалентен нажатию правой кнопки мыши, то есть отображается контекстное меню.

Эта команда не всегда работает корректно. Иногда сразу при первом запуске может отобразиться контекстное меню, а иногда вообще ничего не происходит.

■ rundll32.exe user32.dll, SetCursorPos —вызов данной команды приводит к установке указателя в правый нижний угол экрана.

■ rundll32.exe user32.dll, SwapMouseButton — с помощью данной команды можно поменять местами функциональность левой и правой кнопок мыши, то есть левая кнопка мыши будет открывать контекстное меню, а правая — выделять значки. Обратно сменить функциональность клавиш мыши с помощью данной команды нельзя. Это же можно сделать с помощью апплета Мышь — достаточно установить или снять флажок Обменять назначение кнопок на вкладке Кнопки мыши.

■ rundll32.exe w32time.dll, W32TimeVerifyJoinConfig — дает возможность присвоить параметрам DWORD-типа MaxNegPhaseCorrection, а также MaxPosPhaseCorrection, расположенным в ветви системного реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config, значения 0xffffffff.

Этим параметрам можно также присвоить значения 0xD2F0. Для этого используется команда rundll32.exe w32time.dll, W32TimeVerifyUnjoinConfig.

Глава 3

В этой главе будут рассмотрены некоторые интересные команды, используемые различными стандартными приложениями, поставляемыми вместе с операционной системой Windows. К таким приложениям в первую очередь можно отнести Internet Explorer и Outlook Express.

Internet Explorer

Internet Explorer — браузер, входящий в стандартную поставку любой версии операционной системы Windows XP. Более того, он является ее неотъемлемой частью, и, как бы данный браузер ни критиковали, большая часть пользователей Интернета для доступа к Сети использует именно его. В поставку Internet Explorer входит браузер версии 6.0, поэтому команды rundll32.exe, которые будут описаны в данном разделе книги, содержатся в библиотеках именно этой версии браузера. Хотя это не значит, что более ранние версии Internet Explorer не будут поддерживать этих команд.

Оболочка

Теперь рассмотрим команды rundll32.exe, предназначенные для взаимодействия с пользователем. Раньше при описании файла inetcpl.cpl уже упоминались такие команды, но, кроме них, существует также некоторое количество команд, предоставляемых стандартными библиотеками Windows.

Первой из этих команд является rundll32.exe IEAKENG.dll, ModifyZones. С ее помощью можно отобразить диалог Свойства обозревателя, в котором будут доступны только две вкладки — Безопасность и Конфиденциальность. Диалог не является какой-то новой разновидностью окна Свойства обозревателя, отображаемого после выбора команды Свойства обозревателя меню Сервис, — это все тот же диалог, доступ к остальным вкладкам которого был запрещен при запуске команды с помощью групповых политик. После нажатия кнопки OK данного окна настройки групповых политик опять примут свой стандартный вид — все изменения, которые были сделаны командой, будут удалены.

Если данная команда будет использоваться учетной записью, которой запрещено изменять групповые политики, то вызываемый диалог будет содержать все вкладки.

Если вас удивила предыдущая команда, то вы еще больше удивитесь, когда узнаете о команде rundll32.exe IEAKENG.dll, ShowInetcpl. При ее выполнении операционная система с помощью групповых политик сначала запрещает доступ ко всем вкладкам диалога Свойства обозревателя, а потом пытается открыть этот диалог. При этом, как и следовало ожидать, у команды ничего не получается и она выдает сообщение о том, что данный диалог запрещен администратором. После этого команда удаляет все изменения групповых политик, которые она выполняла в начале своей работы.

Если данная команда, как и предыдущая, будет применяться пользователем, для которого запрещено изменение групповых политик, то диалог Свойства обозревателя будет открыт.

Конфигурация

И наконец-то команды rundll32.exe для настройки конфигурации Internet Explorer. Этих команд не очень много, но они могут быть полезны в некоторых случаях. Например, если вы изменили настройки брэндов Internet Explorer (логотип в правом верхнем углу браузера, высота и фон панели инструментов) с помощью параметров реестра, описанных в части 2, посвященной работе с реестром Windows, и теперь хотели бы восстановить стандартные настройки, то нет необходимости пользоваться реестром. Достаточно выполнить команду rundll32.exe iedkcs32.dll, BrandCleanInstallStubs, после чего браузер пересоздаст ветви реестра, описывающие используемые им брэнды. Можно также воспользоваться командой rundll32.exe iedkcs32.dll, Clear. Но в этом случае будут переписаны изменения не только брэндов, но и других параметров браузера Internet Explorer.

Еще одной проблемой, которую позволяют решить команды rundll32.exe, является возможность перезаписи стандартных пунктов меню Избранное браузера Internet Explorer (ссылки на MSN.com, Windows Media, Hotmail, Программы радиопередач). Если вы удалили эти ссылки и теперь вам необходимо получить доступ к одному из перечисленных сайтов, то можно просто воспользоваться командой rundll32.exe iedkcs32.dll, BrandIE4 SIGNUP. После этого стандартные ссылки меню Избранное будут созданы заново.

Вот, собственно, и все. Но в конце данного раздела рассмотрим некоторые дополнительные команды rundll32.exe, которые вам могут понадобиться.

■ rundll32.exe SHDOCVW.dll, SetShellOfflineState — вызов данной команды приводит к установке флажка Работать автономно в меню Файл, после чего при следующем запуске браузера Internet Explorer попытка подключения к Интернету осуществляться не будет — она произойдет только после снятия этого флажка или после ввода адреса сайта в адресной строке.

■ rundll32.exe WININET.dll, DeleteIE3Cache — позволяет удалить содержимое каталогов cache1, cache2, cache3 и cache4, расположенных поадресу %userprofile%\Local Settings\Temporary Internet Files\Content.IE5.

■ rundll32.exe WININET.dll, InternetClearAllPerSiteCookieDecisions — вызов данной команды приводит к очищению содержимого ветви HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\P3P\History.

■ rundll32 INETCFG.dll InetSetAutoProxyA «IP-адрес» — с помощью данной команды можно установить флажок Использовать сценарий автоматической настройки в диалоговом окне Настройка локальной сети, а также записать в поле Адрес данного диалогового окна значение указанного в вызываемой команде IP-адреса. Диалоговое окно Настройка локальной сети вызывается нажатием кнопки Настройка LAN на вкладке Подключения диалога Свойства обозревателя.

В контексте системного реестра Windows изменяются значения параметров AutoProxyDetectMode (параметр REG_BINARY-типа становится равен 1) и AutoConfigURL (параметр строкового типа, хранящий значение указанного IP-адреса). Оба этих параметра находятся в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings.

Настройки ограничений

Теперь посмотрим, какие возможности предоставляют команды rundll32.exe при работе с ограничением доступа.

В первую очередь с помощью команд rundll32.exe можно открыть диалог Ограничение доступа. Для этого используется команда rundll32.exe IEAKENG.dll, ModifyRatings, результат выполнения которой приведен на рис. 3.1. Аналогичных действий можно добиться, если воспользоваться командой rundll32.exe MSRATING.dll, RatingSetupUI.

Рис. 3.1. Результат выполнения команды rundll32.exe IEAKENG.dll, ModifyRatings

Существует возможность быстрого открытия диалога Системы оценок (рис. 3.2). Для этого используется команда rundll32.exe MSRATING.dll, ClickedOnRAT, после выполнения которой будет открыт диалог Ограничение доступа на вкладке Общие, а также Системы оценок.

Рис. 3.2. Результат выполнения команды rundll32.exe MSRATING.dll, ClickedOnRAT

Существует еще одна интересная возможность — установка файла правил PICS с помощью команды rundll32.exe MSRATING.dll, ClickedOnPRF «путь к файлу правил PICS». После вызова данной команды произойдет открытие диалога Ограничение доступа (на вкладке Дополнительно) и браузер попытается импортировать указанный вами файл правил PICS в реестр.

Наконец, если вы уже настроили ограничения доступа, но теперь необходимо установить такие же ограничения на другом компьютере, то можно воспользоваться командой rundll32.exe IEAKENG.dll, ImportRatingsA «путь и имя inf-файла». После ее выполнения (не всегда выполняется с первого раза) будет создан INF-файл, включающий большую часть настроек ограничений доступа (разрешенные и запрещенные узлы, пароль, подсказка, правила PICS и т. д.). В указанной папке будет создан INF-файл с именем ratrsop.inf, содержащий дополнительные настройки.

После применения созданных файлов вы можете воспользоваться следующей командой: rundll32.exe MSRATING.dll, RatingEnable — для быстрого включения созданных вами ограничений доступа. После этого операционная система попросит вас ввести пароль и при правильном пароле включит ограничения.

Существует возможность перерегистрации параметров реестра, используемых для определения расширений файлов для файлов правил PICS и систем оценок. Для этого достаточно воспользоваться командой rundll32.exe MSRATING.dll, DllRegisterServer. Можно также применить команду rundll32.exe MSRATING.dll, DllUnregisterServer. В этом случае все сведения о расширениях файлов, используемых функцией ограничения доступа, будут удалены из реестра.

Outlook Express

Как и Internet Explorer, Outlook Express входит в стандартную поставку операционной системы Windows и является почтовым клиентом, предназначенным для отправки и получения писем c почтового сервера, такого как, например, www.mail.ru. Outlook Express имеет намного меньше параметров rundll32.exe, которые могут быть интересны, но тем не менее о них стоит рассказать.

Некоторые команды для своей работы используют библиотеки, расположенные в том же каталоге, что и файл msimn.exe. В этом случае в описываемой команде rundll32.exe будет применяться стандартный путь к каталогу почтового клиента — %programfiles%\Outlook Express. Если в вашей системе используется другой путь, то при определении команды нужно будет указать его.

Открытие почтового клиента

Почтовый клиент Outlook Express также можно запустить с помощью команды rundll32.exe. Для этого применяется следующая команда: rundll32.exe «%programfiles%\Outlook Express\MSOE.DLL», CoStartOutlookExpress. Она просто открывает окно Outlook Express, но имеет один большой недостаток — довольно часты случаи, когда окно после своего открытия автоматически закрывается (если установлена возможность автоматического завершения Outlook Express при возникновении ошибки).

Более интересной возможностью, которую предоставляет почтовый клиент, является реализуемая командой rundll32.exe «%programfiles%\Outlook Express\MSOE.DLL», MAPISendDocuments возможность открытия диалогового окна Вложенные файлы, отображенного на рис. 3.3. С его помощью можно создать и отправить письмо, при этом темой письма будет Вложенные файлы (хотя никто вам не помешает изменить тему, если это будет нужно).

Рис. 3.3. Результат выполнения команды rundll32.exe «%programfiles%\Outlook Express\MSOE.DLL», MAPISendDocuments

Конфигурация

Теперь поговорим о конфигурации программы Outlook Express. В данном случае речь пойдет о различных компонентах почтового клиента, которые можно удалить либо воссоздать с помощью команд rundll32.exe.

Бывают ситуации, когда после неправильно установленной программы или сбоя системы перестают читаться файлы с различными расширениями. В нашем случае это файлы, предназначенные для открытия ссылок на почтовые или новостные серверы. Это говорит о том, что при сбое была удалена часть содержимого корневого раздела реестра HKEY_CLASSES_ROOT (о содержимом этого раздела читайте в следующей части) или только сведения о конкретных расширениях. Если это случилось и при этом не читаются только файлы, предназначенные для хранения ссылок на почтовые или новостные серверы, то нет смысла полностью переустанавливать почтовый клиент Outlook Express — намного проще воспользоваться несколькими командами rundll32.exe. Первой такой командой является следующая: rundll32.exe «%programfiles%\Outlook Express\MSOE.DLL», SetDefaultMailHandler. Она предназначена для переустановки всех сведений реестра об идентификаторе mailto (ветвь реестра HKEY_CLASSES_ROOT\mailto), который определяет файлы, предназначенные для описания ссылок на почтовые серверы. После выполнения данной команды идентификатор mailto будет удален из реестра и заново создан на основе стандартных настроек почтового клиента Outlook Express.

Второй такой командой является следующая: rundll32.exe «%programfiles%\Outlook Express\MSOE.DLL», SetDefaultNewsHandler. Она удаляет и заново восстанавливает по умолчанию содержимое идентификаторов news, snews и nntp.

Стоит отметить, что при использовании предыдущих команд будут созданы стандартные идентификаторы. Другими словами, они будут ссылаться на почтовый клиент Outlook Express, а не на клиент электронной почты, который установлен в данный момент в качестве клиента по умолчанию.

Еще одной проблемой, которая может произойти, является повреждение сведений об ActiveX-объектах, принадлежащих почтовому клиенту Outlook Express. Если эти повреждения незначительны, то можно попробовать исправить и их. Например, можно переписать сведения о доступных форматах импорта сообщений в почтовом клиенте. Эти сведения необходимы для работы Мастера импорта сообщений (Файл►Импорт►Сообщения) и позволяют импортировать сообщения формата Microsoft Exchange, Messenger, Netscape, Microsoft Mail и т.д. Если эти сведения будут повреждены, то единственным доступным форматом импорта будет формат Microsoft Outlook 6.0 (рис. 3.4) и, чтобы решить возникшую проблему, достаточно воспользоваться командой rundll32.exe «%programfiles%\Outlook Express\oeimport.dll», DllRegisterServer.

Возможна и обратная ситуация — когда вы намеренно хотите избавиться от ненужных форматов импорта/экспорта сообщений. В этом случае достаточно воcпользоваться командой rundll32.exe «%programfiles%\Outlook Express\oeimport.dll», DllUnregisterServer, и все сведения об импорте/экспорте сообщений исчезнут. Потом вы в любой момент сможете добавить эти сведения, если воспользуетесь описанной функцией библиотеки DllRegisterServer.

Рис. 3.4. Результат выполнения команды rundll32.exe «%programfiles%\Outlook Express\oeimport.dll», DllUnregisterServer

Но не только импорт сообщений можно восстановить — можно также восстановить диалоги импорта и экспорта адресных книг (Файл►Импорт►Другая адресная книга и Файл►Экспорт►Адресная книга). Если ActiveX-объекты для данных диалогов будут повреждены, то диалоги все равно будут отображаться, но воспользоваться ими будет нельзя. Чтобы восстановить ActiveX-объекты для импорта/экспорта адресных книг, необходимо вызвать следующую команду rundll32.exe «%programfiles%\Outlook Express\WABIMP.dll», DllRegisterServer. Кроме того, команды rundll32.exe также позволяют выполнить и противоположную операцию — удаление возможности использования импорта/экспорта адресных книг. Для этого достаточно применить команду rundll32.exe «%programfiles%\Outlook Express\WABIMP.dll», DllUnregisterServer.

Еще одной возможностью, которую можно восстановить, является возможность поиска людей в Интернете. Если поиск вам срочно необходим, то достаточно воспользоваться командой rundll32.exe «%programfiles%\Outlook Express\WABfind.dll», DllRegisterServer, и в подменю Найти меню Пуск появится команда Людей. Если же она там уже имеется, но вы ею никогда не пользовались и пользоваться не собираетесь, то можно ее удалить. Для этого достаточно выполнить команду rundll32.exe «%programfiles%\Outlook Express\WABfind.dll», DllUnregisterServer.

Другие программы

Однако не только Internet Explorer и Outlook Express имеют в своих библиотеках функции, поддерживаемые командой rundll32.exe. Этим могут похвастаться и другие программы.

Существует возможность прекращения работы данного процесса с помощью команды rundll32.exe. Для этого применяется следующая команда: rundll32.exe dfshim.dll, KillService.

■ rundll32.exe MSI39.dll, VMCleanFiles — позволяет очистить компьютер от драйверов программы VMware. После ее вызова происходит удаление из каталога %systemroot%\SYSTEM32\DRIVERS файлов драйверов wmnetuserif.sys, wmnetbridge.sys, wmnet.sys и wmnetadapter.sys.

■ rundll32.exe MSI39.dll, VMDeleteFiles — если предыдущая команда позволяла удалять файлы драйверов VMware, то эта команда дает возможность удалять остальные файлы VMware, а также сведения о них из реестра.

■ rundll32.exe MSI3 9.dll, VMDeleteRegistry — после вызова данной команды происходит удаление из реестра всех сведений о программе VMware.

■ rundll32.exe MSI3 9.dll, VMCreateVMwareAccount — позволяет создать учетную запись администратора VMware.

■ rundll32.exe xvidvfw.dll, Configure — с помощью этой команды можно вызвать диалог настройки Xvid (рис. 3.5).

Рис. 3.5. Результат выполнения команды rundll32.exe xvidvfw.dll, Configure

Таким образом, в этой главе были рассмотрены некоторые интересные команды, используемые различными приложениями.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *