Работа с реестром средствами Visual Basic
Что такое реестр?
Определение, которое даёт Microsoft: "Системный реестр - база данных операционной системы, в которой хранится информация о конфигурации компьютера. Реестр хранит сведения, к которым система обращается непрерывно во время работы..."
От себя могу добавить следующее:
Реестр имеет иерархическую структуру и делится на шесть ветвей:
- HKEY_CLASSES_ROOT. Здесь содержится информация о зарегистрированных типах файлов, а также информация для OLE и операций drag-and-drop.
- HKEY_CURRENT_USER. В этом разделе хранятся настройки цветов, заставок, рабочего стола и т.д.
- HKEY_LOCAL_MACHINE. Здесь содержится информация о аппаратных и программных настройках .
- HKEY_CURRENT_CONFIG. В этом разделе содержится информация, относящаяся к компьютеру: драйверы, установленное программное обеспечение и его настройки
- HKEY_DYN_DATA. Здесь хранятся динамические данные о состоянии различных устройств, установленных на компьютере пользователя.
Каждый, из перечисленных выше ветвей, содержит ключи (подразделы). А конечными элементами реестра являются параметры, в которых и хранится вся информация. Параметры реестра делятся на три типа:
- строковые (напр. "Мой компьютер")
- двоичные (напр. 10 82 A0 8F). Максимальная длина такого ключа 16Кб
- 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 '// Используем функцию GetAllSettings strKeys = GetAllSettings("MyApp", "MySection") '// Получаем границы массива ключей и выполняем цикл For intKeys = LBound(strKeys, 1) To UBound(strKeys, 1) '// Выводим результат Debug.Print strKeys(intKeys, 0), strKeys(intKeys, 1) Next intKeys
Теперь вы знаете все функции, которые предоставляет VB для работы с реестром.