Программирование на Visual Basic

Реестр из VB

Что такое реестр?

Определение, которое даёт Microsoft: «Системный реестр - база данных операционной системы, в которой хранится информация о конфигурации компьютера. Реестр хранит сведения, к которым система обращается непрерывно во время работы...»

От себя могу добавить следующее:

Реестр имеет иерархическую структуру и делится на шесть ветвей:

HKEY_CLASSES_ROOT. Здесь содержится информация о зарегистрированных типах файлов, а также информация для OLE и операций drag-and-drop.

HKEY_CURRENT_USER. В этом разделе хранятся настройки цветов, заставок, рабочего стола и т.д.

HKEY_LOCAL_MACHINE. Здесь содержится информация о аппаратных и программных настройках .

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

HKEY_DYN_DATA. Здесь хранятся динамические данные о состоянии различных устройств, установленных на компьютере пользователя.

Каждый, из перечисленных выше ветвей, содержит ключи (подразделы). А конечными элементами реестра являются параметры, в которых и хранится вся информация. Параметры реестра делятся на три типа:

1. строковые (напр. «Мой компьютер»)
2. двоичные (напр. 10 82 A0 8F). Максимальная длина такого ключа 16Кб
3. DWORD. Этот тип ключа занимает 4 байта и отображается в шестнадцатеричном и в десятичном виде (напр. 0x00000020 (32) - в скобках указано десятичное значение ключа).

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

Работаем с реестром

Visual Basic умеет работать только с веткой HKEY_CURRENT_USER/ Software/VB and VBA Program Setting и только со строковыми ключами, но этого вполне достаточно, чтобы сохранять и считывать настройки своих программ:

Запись данных в реестр:
SaveSetting AppName, Section, Key, Setting "// AppName - название вашей программы,
Section - ключ, Key - имя параметра, Setting - строковое значение
параметра

Чтение данных из реестра:
GetSetting AppName, Section, Key, Default "// AppName - название вашей программы,
Section -
ключ, Key - имя параметра, Default - значение, которое будет возвращено функцией, если параметра не существует

Удаление данных из реестра:
DeleteSetting AppName, Section, Key "// AppName - название вашей программы,
Section -
ключ, Key - имя параметра

Примечание: если вы хотите удалить подраздел целиком, то имя ключа указывать не нужно.

Получение всех имён и значений параметров заданного ключа:
GetAllSetting AppName, Section "// AppName - название вашей программы,
Section - ключ

Пример:

Dim intKeys As Integer, strKeys As Variant "// Объявляем переменные

strKeys = GetAllSettings("MyApp", "MySection") "// Используем функцию GetAllSettings

For intKeys = LBound(strKeys, 1) To UBound(strKeys, 1) "// Получаем границы массива ключей и выполняем цикл

Debug.Print strKeys(intKeys, 0), strKeys(intKeys, 1) "// Выводим результат

Next intKeys

Теперь вы знаете все функции, которые предоставляет VB для работы с реестром.

Заключение

На этом Ваше знакомство с реестром закончено.

Hosted by uCoz