指定のレジストリキーの値を列挙する
Declare Function RegEnumValue Lib "ADVAPI32.dll" Alias "RegEnumValueA" _
(ByVal hKey As Long, ByVal dwIndex As Long, ByVal lpValueName As String, _
lpcbValueName As Long, lpReserved As Long, lpType As Long, _
lpData As Any, ByVal lpcbData As Long) As Long
Declare Function RegEnumValue Lib "ADVAPI32.dll" Alias "RegEnumValueA" _
(ByVal hKey As Integer, ByVal dwIndex As Integer, ByVal lpValueName As String, _
lpcbValueName As Integer, lpReserved As Integer, lpType As Integer, _
lpData As Integer, ByVal lpcbData As Integer) As Integer
LONG RegEnumValue(
HKEY hKey,
DWORD dwIndex,
LPTSTR lpValueName,
LPDWORD lpcValueName,
LPDWORD lpReserved,
LPDWORD lpType,
LPBYTE lpData,
LPDWORD lpcbData
);
引数
hKey
ルートキーを指定する定義済みのキーdwIndex
HKEY_CLASS_ROOT
HKEY_CURRNT_CONFING
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_DYN_DATA
取り出すキーのインデックス(最初は0)lpName
(戻り値)サブキー名を受け取るバッファlpcbName
同、バイト数lpReserved
常に0lpType
(戻り値)値のタイプを示す定数lpData
(戻り値)値を受け取るバッファlpcbData
通常はバイト配列を使う
同、バイト数戻り値
正常終了のとき ERROR_SUCCESS(=0)lpTypeの定数
エラーのとき 0以外
REG_BINARY = 3 バイナリデータ
REG_DWORD = 4 32ビット数値
REG_DWORD_LITTLE_ENDIAN = 4 = REG_DWORD
REG_DWORD_BIG_ENDIAN = 5 バイトの並びがWindowsとは逆の32ビット値
REG_EXPAND_SZ = 2 展開前の環境変数(例えば%PATH%)
REG_MULTI_SZ = 7 二つのvbNullStringで終わる文字列
REG_NONE = 0 未定義のタイプ
REG_RESOUCE_LIST = 8 ドライバのリソースリスト
REG_SZ = 1 文字列