Реестр из 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 для работы с реестром.
Заключение
На этом Ваше знакомство с реестром закончено.