Функция RegOpenKeyEx

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

Платформа: Win 95/98, Win NT

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
Категория: Реестр

В начало.