RegDeleteKey(A)

レジストリのサブキーを削除します。

Windows 95/98/Me: 指定されたキーが持つすべてのサブキーと値も含めて削除します。キーがサブキーや値を持たない場合にのみキーを削除するには、 SHDeleteEmptyKey 関数を使います。

Windows NT/2000/XP: 削除するキーがサブキーを持っていてはいけません。キーを削除するには、そのキーが持つサブキーを先に削除する必要があります。キーが持つすべてのサブキーと値も含めて削除するには、 SHDeleteKey 関数を使います。

LONG RegDeleteKeyA(
    HKEY    hKey,       // キーのハンドル
    PCTSTR  pszSubKey   // 削除するキーの名前
);

ADVAPI32.DLL

引数

hKey

現在オープンしているキーのハンドルを指定します。このハンドルは DELETE アクセスを持っていなければいけません。

次の定義済みキーを指定することもできます。

定義済みキー
0x80000000 HKEY_CLASSES_ROOT
0x80000001 HKEY_CURRENT_USER
0x80000002 HKEY_LOCAL_MACHINE
0x80000003 HKEY_USERS
0x80000004 Windows NT/2000/XP: HKEY_PERFORMANCE_DATA
0x80000005 HKEY_CURRENT_CONFIG
0x80000006 Windows 95/98/Me: HKEY_DYN_DATA

pszSubKey パラメータで指定されるキーは、このパラメータ指定されるキーのサブキーでなければなりません。

lpSubKey

削除するサブキーの名前を表す文字列のアドレスを指定します。 0 (NULL) を指定することはできません。

Windows NT/2000/XP: 指定されるキーはサブキーを持っていてはいけません。

戻り値

成功すると 0 (ERROR_SUCCESS) が返ります。

失敗すると 0 以外のエラーコードが返ります。このエラーコードと FORMAT_MESSAGE_FROM_SYSTEM フラグを指定して FormatMessage 関数を呼び出すことで、エラーメッセージを取得できます。

対応情報

Windows 95 以降 / Windows NT 3.1 以降