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

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "Недокументированные и малоизвестные возможности Windows XP"
Описание и краткое содержание "Недокументированные и малоизвестные возможности Windows XP" читать бесплатно онлайн.
Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.
Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows. Тем более что довольно часто эти возможности позволяют обойти ограничения на те или иные функции Windows, установленные администратором. Издание также может быть интересно и обычным пользователям
Глава 15
INF-файлы
Хотелось бы в этой главе описать некоторые возможности INF-файлов. Здесь не будет полностью рассмотрен язык INF-файлов и способы написания на нем сценариев, но тем не менее попробуем понять, как с помощью INF-файлов можно выполнять копирование и удаление файлов, создание и удаление параметров реестра, а также рассмотрим некоторые интересные возможности INF-файлов.
Основные сведения
INF-файлы предназначены для описания начального процесса установки новой программы или оборудования. Каждый INF-файл должен начинаться с заголовка. Этот заголовок определяет версию INF-файла, а также версию операционной системы, для которой этот INF-файл написан. От версии информационного файла (INF-файла) зависят те возможности, которые он поддерживает. Существует две версии INF-файлов — обычные и расширенные. В главе 1 уже рассматривались способы вызова обычных и расширенных INF-файлов. При этом расширенные INF-файлы поддерживают следующие новые возможности (это не все возможности, только основные): выполнение различных программ до или после выполнения INF-файла, архивирование изменяемых значений параметров реестра, а также вывод сообщений перед выполнением INF-файлов или после него.
ПРИМЕЧАНИЕ
Необходимость изучения INF-файлов во многом оправдана. Конечно, сейчас INF-файлы заменили пакетами установщика Windows и другими способами описания начальной установки программ. Тем не менее они обладают несколькими интересными возможностями, которые будут рассмотрены далее и которые довольно трудно выполнить без использования INF-файлов. С помощью INF-файлов можно также работать с реестром, даже когда возможность работы с программой regedit.exe и REG-файлами была отключена с помощью DWORD-параметра DisableRegistryTools, расположенного в ветви реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\system. И не следует забывать, что INF-файлы могут использоваться системными процессами, то есть на их основе можно выполнить взлом операционной системы.
Обычные INF-файлы
Возможности обычных INF-файлов поддерживаются и расширенными, поэтому эти возможности будут рассмотрены первыми. Обычные INF-файлы начинаются со следующего заголовка:
[Version]
Signature="$WINDOWS NT$"
При этом после ключевого слова Signature идет описание версии операционной системы, которая будет поддерживать такие INF-файлы. Если после этого ключевого слова идет слово $WINDOWS NT$, то данный файл написан для операционных систем семейства NT и работать с ним в операционных системах семейства Windows 9x нельзя. Если же после ключевого слова идет слово $CHICAGO$, то данный INF-файл был написан для операционных систем семейства Windows 9x. При этом работать с этим файлом можно будет и в операционных системах семейства NT.
После заголовка должен идти начальный блок, с которого будет устанавливаться данный INF-файл. Стало традицией, что этот блок должен иметь название DefaultInstall. К тому же блок именно с таким заголовком ищет система при установке INF-файла с помощью команды Установить его контекстного меню. Если же предполагается, что создаваемый INF-файл не должен вызываться с помощью контекстного меню (а только с использованием команды rundll32.exe setupapi.dll, InstallHINFSection), то начальный блок можно указать любой.
В начальном блоке могут содержаться различные ключевые слова, указывающие на другие блоки INF-файла, с помощью которых выполняется работа с реестром и файловой системой Windows XP.
Создание ветвей реестра
Например, в начальном блоке может находиться ключевое слово AddReg, указывающее на блоки INF-файла, описывающие добавляемые или изменяемые параметры и ветви реестра. Рассмотрим формат этого ключевого слова на примере листинга 15.1. В данном листинге приведен пример редактирования DWORD-параметра AutoRun из ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom. В примере этому параметру присваивается значение 0, то есть отключается возможность автоматического запуска дисков.
Листинг 15.1. Редактирование параметров реестра[version]
Signature="$CHICAGO$"
[DefaultInstall]
AddReg=AR_off
[AR_off]
HKLM, "SYSTEM\CurrentControlSet\Services\Cdrom","Autorun",0x10001,0
Как видно из листинга 15.1, в блоке для редактирования ветвей реестра (в ключевом слове AddReg можно через запятую указать несколько блоков для редактирования ветвей реестра) описываются сами ветви реестра и параметры, в них изменяемые. Формат их описания таков:
«корневой раздел», «ветвь реестра», «параметр», «флаг типа параметра», «новое значение параметра»
Рассмотрим этот формат подробнее.
■ Корневой раздел — здесь содержится ключевое слово, определяющее корневой раздел реестра, в котором расположен изменяемый параметр. Возможны следующие значения:
• HKCU — определяет корневой раздел HKEY_CURRENT_USER;
• HKLM — HKEY_LOCAL_MACHINE;
• HKU — HKEY_USERS;
• HKCR — HKEY_CLASSES_ROOT;
• HKCC — HKEY_CURRENT_CONFIG.
■ Ветвь реестра — определяет остальной путь к ветви реестра, включающей в себя изменяемый параметр. Если ветвь реестра содержит пробелы, то ее нужно взять в кавычки.
■ Параметр — указывает изменяемый параметр реестра. Если название параметра содержит пробелы, то его нужно взять в кавычки. Если название параметра указано не будет, то будет изменено значение параметра (По умолчанию).
■ Флаг — определяет как тип параметра, так и в некоторых случаях дополнительные сведения о том, что же нужно делать с аналогичным параметром в реестре, если он уже существует. Флаг представляет собой битовую маску. Рассмотрим некоторые состояния этой битовой маски.
• 0x00000000 — тип REG_SZ.
• 0x00000001 — REG_BINARY.
• 0x00010000 — REG_MULTI_SZ.
• 0x00020000 — REG_EXPAND_SZ.
• 0x00010001 — DWORD.
• 0x00020001 — NONE.
• 0x00000002 — если изменяемый параметр уже существует в реестре, то изменять его значение запрещено.
• 0x00000004 — удалить раздел или параметр из реестра. Иными словами, в INF-файле можно обойтись даже без специального ключевого слова для описания блока удаления, который будет рассмотрен далее. Удалить параметр можно и с помощью блока редактирования параметров.
• 0x00000008 — только для параметров REG_MULTI_SZ-типа. Указанное в строке редактирования параметра значение не заменяет существующее значение, а добавляется к существующему значению параметра.
• 0x00000010 — создать раздел, но игнорировать создание или редактирование указанного в строке параметра. Вообще, если посмотреть на возможные значения данного флага, то можно подумать, что Microsoft намеревается создать целый язык сценария с условными значениями и переменными для INF-файла. Иначе зачем вообще нужны два только что рассмотренных значения флага, если аналогичные действия можно выполнить и без их использования?
• 0x00000020 — изменить значение параметра, только если данный параметр уже существует в реестре.
■ Значение параметра — определяет новое значение параметра.
Теперь рассмотрим пример INF-файла, добавляющего в реестр значения параметров. Пример, отображенный в листинге 15.2, является частью стандартного INF-файла Windows XP, предназначенного для настройки отключения автозапуска дисков для разных типов приводов компакт-дисков. В примере параметру Autorun присваивается значение только в том случае, если он не существует в реестре. А значение параметра AutoRunAlwaysDisable, имеющего тип REG_MULTI_SZ, формируется в несколько приемов, чтобы обеспечить хранение значений параметра в разных строках.
Листинг 15.2. Пример использования флагов для редактирования параметров реестра[version]
Signature="$CHICAGO$"
[DefaultInstall]
AddReg=autorun_addreg
[autorun_addreg]
HKLM,"System\CurrentControlSet\Services\cdrom","AutoRun",0x00010003,1
HKLM,"System\CurrentControlSet\Services\cdrom","AutoRunAlwaysDisable", 0x00010008, "NEC MBR-7 "
HKLM,"System\CurrentControlSet\Services\cdrom","AutoRunAlwaysDisable", 0x00010008, "NEC MBR-7.4 "
HKLM,"System\CurrentControlSet\Services\cdrom","AutoRunAlwaysDisable", 0x00010008, "PIONEER CHANGR DRM-1804X"
HKLM,"System\CurrentControlSet\Services\cdrom","AutoRunAlwaysDisable", 0x00010008, "PIONEER CD-ROM DRM-6324X"
HKLM,"System\CurrentControlSet\Services\cdrom","AutoRunAlwaysDisable", 0x00010008, "PIONEER CD-ROM DRM-624X "
HKLM,"System\CurrentControlSet\Services\cdrom","AutoRunAlwaysDisable", 0x00010008, "TORiSAN CD-ROM CDR_C36"
Удаление ветвей реестра
Параметр или ветвь реестра можно не только добавить в реестр, но и удалить из него. Для этого применяется ключевое слово DelReg, указывающее на блок INF-файла, содержащий сведения о ветвях реестра и параметрах, которые нужно удалить. Несмотря на то, что флаг для редактирования параметров позволяет также и удалять параметры, для их удаления рекомендуется все-таки использовать ключевое слово, так как это более наглядно и позволяет легче понять принцип работы INF-файла.
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Недокументированные и малоизвестные возможности Windows XP"
Книги похожие на "Недокументированные и малоизвестные возможности Windows XP" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "Роман Клименко - Недокументированные и малоизвестные возможности Windows XP"
Отзывы читателей о книге "Недокументированные и малоизвестные возможности Windows XP", комментарии и мнения людей о произведении.