Книга: Недокументированные и малоизвестные возможности Windows XP
Выполнение файлов
Выполнение файлов
Теперь рассмотрим несколько команд для выполнения или регистрации файлов. Например, как можно установить 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 «путь и имя файла» — с помощью данной команды можно отобразить диалоговое окно Открыть с помощью для открытия указанного в параметре функции файла. Например, можно открыть исполняемый файл программы в Блокноте или с помощью другой программы (по умолчанию исполняемые файлы нельзя вызывать с помощью диалога Открыть с помощью).
? rundll32.exe shimgvw.DLL, ImageView_Fullscreen «путь к файлу изображения» — позволяет открыть указанный файл изображения с помощью программы просмотра изображений и факсов.
- Глава 5 Доступ из сценариев к файловой системе
- Выполнение основных операций с файловой системой
- Резервное копирование многофайловых баз данных
- Восстановление из резервных копий многофайловых баз данных
- Создание файлов с блокировкой
- Рекомендуемое расширение для файлов баз данных - *.ib
- Создание многофайловой базы данных
- Правила именования файлов
- Глава 6 Файловые системы
- 3.4 Сетевая файловая система
- 6.4 Другие файловые системы
- 6.5 Файловая система NTFS