Установка значений с помощью REG-файлов | All about OS

Установка значений с помощью REG-файлов

Категория: 'XP

Вы узнали, как создавать REG-файлы с помощью Regedit в гл. 2. REG-файлы являются классическим методом добавления и изменения значений в реестре, но, какя сказал в разделе «Выбор метода», они не настолько удобны и гибки, как другие методы, о которых вы узнаете в этой главе. Самым большим их недостатком является то, что с помощью REG-файлов вы не можете удалять значения; вы можете только добавлять или модифицировать значения или удалять ключи.
После того как вы создали REG-файл, который имеет расширение .reg, вы импортируете его в реестр, дважды щелкнув на нем мышью. Это здорово, если вы хотите, чтобы пользователи сами импортировали файл, но вам потребуется следующая команда, если вы хотите импортировать REG-файл с помощью вашей инфраструктуры управления программным обеспечением или некоторым другим способом, таким как предоставление ссылки на него через интранет: regedit /s f ilename.reg. Замените f ilename.reg на путь и имя вашего REG-файла. Опция командной строки /s импортирует файл в реестр, не запрашивая пользователя, и именно это вы захотите сделать в большинстве случаев. Чтобы отредактировать REG-файл, щелкните на нем правой кнопкой мыши, а затем выберите Edit (Изменить). Не сделайте случайно двойной щелчок на REG-файле, думая, что вы собираетесь открыть его в блокноте, потому что двойной щелчок мышью на REG-файле импортирует его в реестр.
Помните, что Regedit поддерживает два различных формата файлов для REG-файлов. REG-файлы версии 4 имеют кодировку ANSI. Кодировка символов ANSI использует один байт для представления каждого символа. Regedit записывает строки REG_EXPAND_SZ и REG_MULTI_SZ в REG-файл также с помощью кодировки символов ANSI так, что каждый символ занимает один байт. Кодировка символов Unicode использует два байта для каждого символа, и когда вы создаете Unicode REG-файл, Regedit записывает строки REG_EXPAND_SZ и REG_MULTI_SZ в него с использованием двухбайтовой схемы кодирования Unicode. Глава 1 более подробно рассказывает о различиях между двумя стандартами кодирования. Глава 2 описывает различия между двумя различными типами REG-файлов. Следует знать, что выбор версии 4 REG-файла означает, что файл и все значения в нем используют ANSI; точно так же, создание версии 5 REG-файла означает, что файл и все значения в нем используют Unicode. Я предпочитаю использовать версию 4 ANSI REG-файлов, за исключением случаев, когда я знаю, что данные в реестре содержат локализованный текст, который требует для своего представления Unicode. Если сомневаетесь, всегда создавайте версию 5 Unicode-файлов.
Листинг 9.5 показывает пример REG-файла. Первая строка в этом файле является заголовком, который указывает версию файла. Заголовок Windows Registry Editor Version 5.00 указывает на версию 5 Unicode REG-файла. Заголовок REGEDIT4 указывает на версию 4 ANSI REG-файла. За заголовком обычно следует пустая строка, но файл прекрасно работает и без нее. Заметьте, как похожа остальная часть этого файла на INF- и INI-файлы. Каждый раздел содержит полное имя ключа. Они используют полные имена корневых ключей, а не сокращения. Листинг 9.5 импортирует настройки в три ключа: HKCU\Control Panel\Desktop, HKCU\Control Panel\Desktop\WindowMetrics и HKCU\Control Panel\ Mouse. Строки, находящиеся з каждом из этих разделов, являются значениями, которые Regedit добавит в соответствующий ключ при импорте этого файла в реестр. Формат имеет вид “имя”=значение. Значение с именем @ представляет значение по умолчанию ключа. Некоторые из значений в листинге 9.5 содержат dword и hex, в то время как другие заключены в кавычки. Значения, заключенные в кавычки, являются строками. Значения в форме dword:значение являются значениями типа REG_DWORD. Значения в форме Ьех:значение являются значениями типа REG_BINARY. Это становится более сложно, когда вы добавляете подтипы, такие как Ьех(тип):значение, и я расскажу о них несколько позже.

Страниц: 1 2

« Использование строк в INF-файлах
Экспорт настроек в REG-файлы »