Существует еще одна команда, с помощью которой можно выполнить удаление. Но с ее помощью можно удалить только содержимое, а не сам каталог (то есть переписать необходимый каталог). Это команда 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-файла.

Кроме INF-файлов, библиотека ADVPACK.dll позволяет также зарегистрировать отдельный ActiveX-объект. Каждый ActiveX-объект поставляется в виде файла с расширением OCX, регистрация которого происходит с помощью такой команды: rundll32.exe ADVPACK.dll, RegisterOCX «путь и имя файл .ocx».

Теперь рассмотрим набор команд 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), указанный в качестве параметра функции.

■ rundll32.exe shell32.dll, Control_RunDLL «имя CPL или DLL-файла» — вызов данной команды приводит к запуску соответствующего CPL-файла или определенной функции файла DLL. Например, после вызова команды rundll32.exe shell32.dll, Control_RunDLL main.cpl откроется апплет Мышь. Если вы разочарованы, то могу сказать еще об одной особенности работы данной функции — с ее помощью можно указать вкладку, на которой будет открыт апплет. Например, вызов команды rundll32.exe shell32.dll, Control_RunDLL main.cpl, ,2 приведет к открытию апплета Мышь на вкладке Параметры указателя. Аналогично можно открывать и любые другие вкладки различных апплетов (при этом вкладки нумеруются, начиная с нуля).

Функция 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 «путь и имя файла» — с помощью данной команды можно отобразить диалоговое окно Открыть с помощью для открытия указанного в параметре функции файла. Например, можно открыть исполняемый файл программы в Блокноте или с помощью другой программы (по умолчанию исполняемые файлы нельзя вызывать с помощью диалога Открыть с помощью).