RegSetValueEx

機能
レジストリキーの値を設定する
Declare Function RegSetValueEx Lib "ADVAPI32.dll" Alias "RegSetValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, lpData As Any, ByVal cbdata As Long) As Long
Declare Function RegSetValueEx Lib "ADVAPI32.dll" Alias "RegSetValueExA" _
(ByVal hKey As Integer, ByVal lpValueName As String, ByVal Reserved As Integer, _
ByVal dwType As Integer, lpData As Integer, ByVal cbdata As Integer) As Integer

LONG RegSetValueEx(
HKEY hKey,
LPCTSTR lpValueName,
DWORD Reserved,
DWORD dwType,
CONST BYTE *lpData,
DWORD cbData
);
引数
hKey

オープンしているキーのハンドル
またはルートキーを指定する定義済みのキー
HKEY_CLASS_ROOT
HKEY_CURRNT_CONFING
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_DYN_DATA
lpValueName
データを設定する値名
vbNullStringを設定すると(標準)になる。
Reserved
常に0
dwType
lpDataで設定するデータのタイプを指定する定数
lpData
設定する値
cbdata
同、バイト数
戻り値
正常終了のとき        ERROR_SUCCESS(=0)
エラーのとき          0以外
備考
宣言ではlpData As Anyとしているが、設定するデータのタイプに応じて
宣言を特定するほうが便利である。
サンプル
ダウンロード(RegSetValueEx.lzh 3.41KB)

dwTypeの定数
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                            文字列