Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Ключи реестра



В верхней части дерева реестра имеются шесть основных ключей. Рассмотрим каждый из них:

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

HKEY_CURRENT_CONFIG. Под данным ключом хранится информация о конфигурации установленных на компьютере аппаратных средств.

HKEY_DYN_DATA (только Windows 9х). Под данным ключом хранится информация об установленных на компьютере самонастраивающихся устройств Plug и Play.

HKEY_CLASSES_ROOT. Под данным ключом хранится информация установленном на компьютере программном обеспечении, включая данные, используемые операционной системой.

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

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

Использование VBA для доступа к реестру с помощью функций Win32 API

В VBA можно управлять реестром с помощью функций Win32 API, например:

- Прочитать содержимое ключей реестра

- Создать новые ключи в реестре

- Прочитать и изменить значения под ключами

- Экспортировать реестр в файл

- Импортировать данные реестра из внешнего файла

Описания, константы и типы данных реестра

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

Открытие ключа

Чтобы работать с ключами реестра, необходимо предварительно открыть их. При открытии ключа возвращается его дескриптор. Как уже отмечалось ранее, для ссылки на данные можно использовать их дескриптор, в данном случае для доступа к ключу используется дескриптор ключа. Для открытия ключа используется функция RegOpenKey (), которая возвращает значение, указывающее на то, было ли ее выполнение успешным или нет. Кроме того, данная функция присваивает своему аргументу дескриптор ключа. Покажем пример использования функции RegOpenKey (). В программе выводится число 0 в окне отладки, если при выполнении функции не возникло ошибок, а также отображается значение параметра hSubKeyHandle, который является дескриптором ключа

Программа открытия ключа:

Public Sub OpenRegistryKeyDemo()Dim lReturn As Long Dim sSubKey As String Dim hSubKeyHandle As LonglReturn = RegOpenKey&(HKEY_LOCAL_MACHINE, "Config", hSubKeyHandle) Debug.Print lReturn Debug.Print hSubKeyHandleEnd Sub

Чтение значения параметра реестра

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

- Функция RegQueryValueO. Извлекает значение параметра по умолчанию

- Функция RegQueryValueEx (). Извлекает значение именованного параметра.

Чтобы получить значение именованного параметра, используйте функцию RegQueryValueEx(). Например, под ключом HKEY_CURRENT_СОNFIG\Display\Settings имеется параметр Resolution, в котором хранится разрешение экрана. В программе показан пример чтения значения именованного параметра. Программа требует некоторых пояснений:

- Функция RegOpenKey () используется для получения дескриптора требуемого ключа. Дескриптор передается в функцию RegQueryValueEx ().

- Строковый параметр инициализируется до вызова функции, которая читает значение параметра реестра.

- Третий аргумент функции RegQueryValueEx () зарезервирован для использования Windows, ему требуется присвоить значение 0.

- Четвертый аргумент функции RegQueryValueEx () используется для задания типа возвращаемых данных. Возможные значения смотрите в списке констант реестра. Поскольку возвращаемая величина является строкой, необходимо указать константу REG_SZ, которая задает заканчивающуюся символом Null строку.





Дата публикования: 2014-11-28; Прочитано: 418 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...