<Return[R]><Top>

RegDeleteKey

Declare Function Api_RegDeleteKey& Lib "advapi32" Alias "RegDeleteKeyA" (ByVal hkey&, ByVal pszSubKey$)

Declare Function RegDeleteKey Lib "advapi32" Alias "RegDeleteKeyA" (ByVal hkey As Long, ByVal pszSubKey As String) As Long

1 つのサブキーを削除する。
Windows 95/98:この関数は、指定されたキーに加えて、そのキーのすべてのサブキーとレジストリエントリを削除する。1 つのキーの中にサブキーもレジストリエントリも存在しない場合は、SHDeleteEmptyKey 関数を使う。

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

    代わりに、あらかじめ定義されている次の予約済みハンドルのいずれかを指定することもできる。
    HKEY_CLASSES_ROOT
    HKEY_CURRENT_CONFIG
    HKEY_CURRENT_USER
    HKEY_LOCAL_MACHINE
    HKEY_USERS
    Windows NT/2000:HKEY_PERFORMANCE_DATA も指定できる。
    Windows 95/98:HKEY_DYN_DATA も指定できる。
    lpSubKey パラメータで指定するキーは、hKey パラメータで指定するキーのサブキーでなければならない。
lpSubKey
    削除するべきキーの名前を保持している、NULL で終わる文字列へのポインタを指定する。NULL を指定することはできない。
    Windows NT/2000:サブキーを持つキーを指定することはできない。

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

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

解説
    RegDeleteKey 関数は、指定されたキーをレジストリから削除する。すべてのレジストリエントリを含め、キー全体が削除される。
    レジストリエディタ(Regedt32.exe または Regedit.exe)は、ここで言う「レジストリエントリ」を「値」と呼んでいる。

    どちらも同じものを意味していて、「名前」(レジストリエントリ名)と「データ」(レジストリエントリのデータ)で構成されている。
    Windows 95/98:レジストリのサブキー名、およびレジストリエントリ名の長さは、最大 255 文字である。