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
Declare Function RegOpenKeyEx Lib "ADVAPI32.dll" Alias "RegOpenKeyExA" _
(ByVal hKey As Integer, ByVal lpSubKey As String, ByVal ulOptions As Integer, _
ByVal samDesired As Integer, phkResult As Integer) As Integer

LONG RegOpenKeyEx(
HKEY hKey,
LPCTSTR lpSubKey,
DWORD ulOptions,
REGSAM samDesired,
PHKEY phkResult
);
引数
hKey

ルートキーを指定する定義済みキー
HKEY_CLASS_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_DYN_DATA
HKEY_LOCAL_MACHINE
HKEY_USERS
lpSubKey
オープンするサブキー名
Reserved
常に0
samDesired
動作方法を指定する定数
phkResult
(戻り値オープンしたキーのハンドルを受け取る長整数変数
戻り値
正常終了のとき      ERROR_SUCCESS(=0)
エラーのとき        0以外
samDesiredの定数

KEY_CREATE_SUB_KEY = &H4                      サブキーを作成する
KEY_ENUMERATE_SUB_KEYS = &H8                  サブキーをリストアップする
KEY_EXEBUTE = ((KEY_READ) And (Not SYNCHRONIZE))
KEY_NOTIFY = &H10                             レジストリの内容変更通知を要求する
KEY_QUERY_VALUE = &H1                         レジストリの値を取得する
KEY_READ = ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or _
                 KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And _
                 (Not SYNCHRONIZE))
KEY_SET_VALUE = &H2                           レジストリの値を設定する
KEY_WRITE = ((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or _
                 KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))
KEY_ALL_ACCESS = ((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or _
                 KEY_SET_VALUE Or KEY_CREATE_SUB_KEY Or _
                 KEY_ENUMRATE_SUB_KEYS Or KEY_NOTIFY Or _
                 KEY_CREATE_LINK) And (Not SYNCHRONIZE))