Функция 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
Категория
Реестр