<Return[R]><Top>

RegDeleteValue

Declare Function Api_RegDeleteValue& Lib "advapi32" Alias "RegDeleteValueA" (ByVal hKey&, ByVal lpValueName$)

Declare Function RegDeleteValue Lib "advapi32" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long

レジストリの指定されたキーから、指定されたレジストリエントリを削除する。
レジストリエディタ(Regedt32.exe または Regedit.exe)は、ここで言う「レジストリエントリ」を「値」(英語版は Value)と呼んでいる。どちらも同じものを意味していて、「名前」(レジストリエントリ名)と「データ」(レジストリエントリのデータ)で構成されている。

パラメータ
hKey
    現在開いているキーのハンドルを指定する。

    代わりに、あらかじめ定義されている次の予約済みハンドルのいずれかを指定することもできる。
    HKEY_CLASSES_ROOT
    HKEY_CURRENT_CONFIG
    HKEY_CURRENT_USER
    HKEY_LOCAL_MACHINE
    HKEY_USERS
    Windows NT/2000: HKEY_PERFORMANCE_DATAWindows NT/2000:HKEY_PERFORMANCE_DATA も指定できる。
    Windows 95/98:HKEY_DYN_DATA も指定できる。
lpValueName
    削除するべきレジストリエントリ名を保持している、NULL で終わる文字列へのポインタを指定する。NULL を指定することはできない。

戻り値
    関数が成功すると、ERROR_SUCCESS が返る。
    関数が失敗すると、Winerror.h ヘッダーファイル内で定義されている、0 以外のエラーコードが返る。

    FORMAT_MESSAGE_FROM_SYSTEM フラグを指定して 関数を呼び出すと、エラーの一般的な説明を取得できる。

解説
    hKey パラメータで指定するキーは、KEY_SET_VALUE アクセス権を割り当てて開いておかなければならない(KEY_WRITE アクセス権に

    はKEY_SET_VALUE アクセス権が含まれているので、代わりに KEY_WRITE アクセス権を指定して開いてもかまわない)。
    Windows 95/98:レジストリのサブキー名、およびレジストリエントリ名の長さは、最大 255 文字である。