Функция RegOpenKeyEx

Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" ( _
        ByVal hKey As Long,  _
        ByVal lpSubKey As String,  _
        ByVal ulOptions As Long,  _
        ByVal samDesired As Long,  _
        phkResult As Long) As Long

RegOpenKeyEx открывает раздел реестра. Функция используется, когда нужно считать или записать некоторое значение в этом разделе. В отличие от RegCreateKeyEx, эта функция не создает раздел, если он не существует. Описатель раздела передается в переменную phkResult.

Возвращаемое значение

В случае успеха функция возвращает 0, в случае ошибки - код ошибки

Параметры

hKey
Описатель открываемого раздела реестра или один из следующих флагов, которые идентифицируют ветви:
HKEY_CURRENT_USER = &H80000001
Ветвь HKEY_CURRENT_USER хранит информацию о пользователе, который в настоящий момент работает на компьютере
HKEY_LOCAL_MACHINE = &H80000002
Ветвь HKEY_LOCAL_MACHINE хранит информацию о локальном компьютере, в том числе - установки аппаратного и программного обеспечения, конфигурация приложений, установки безопасности
HKEY_USERS = &H80000003
Ветвь HKEY_USERS содержит информацию обо всех пользователях, зарегистрированных в системе
HKEY_CURRENT_CONFIG = &H80000005
Ветвь HKEY_CURRENT_CONFIG хранит информацию о текущей конфигурации
HKEY_DYN_DATA = &H80000006
Ветвь HKEY_DYN_DATA хранит динамическую информацию
lpSubKey
Имя открываемого раздела
ulOptions
Зарезервированный параметр. Установлен равным 0
samDesired
Один или более флагов для желаемого доступа к чтению/записи:
KEY_ALL_ACCESS = &HF003F
Разрешен любой тип доступа
KEY_CREATE_LINK = &H20
Разрешение для создания символьных ссылок
KEY_CREATE_SUB_KEY = &H4
Разрешение для создания подраздела
KEY_ENUMERATE_SUB_KEYS = &H8
Разрешение для перечисления подразделов
KEY_EXECUTE = &H20019
Аналогично KEY_READ
KEY_NOTIFY = &H10
Разрешение на уведомление изменений
KEY_QUERY_VALUE = &H1
Разрешен доступ к данным подраздела
KEY_READ = &H20019
Разрешен доступ к чтению
KEY_SET_VALUE = &H2
Разрешение на установку данных подраздела
KEY_WRITE = &H20006
Разрешен доступ к записи
phkResult
Переменная, получаемая от описателя открытого раздела

Пример

' Открываем раздел под именем
' HKEY_CURRENT_USER\Software\Russian_Project\Samples\
Dim hregkey As Long ' описатель раздела
Dim subkey As String ' имя подраздела
Dim retval As Long ' возвращаемое значение

subkey = "Software\Russian_Project\Samples"

' открываем раздел реестра
retval = RegOpenKeyEx(HKEY_CURRENT_USER, subkey, 0, STANDARD_RIGHTS_READ, hregkey)
If retval <> 0 Then
  Debug.Print "Ошибка во время открытия раздела реестра"
  End  ' завершаем работу
End If

' Вставьте сюда ваш код...
MsgBox "Раздел существует!"
' закрываем раздел
retval = RegCloseKey(hregkey)

Смотри также

RegCloseKey, RegCreateKeyEx

Категория

Реестр