请输入您要查询的百科知识:

 

词条 RegDeleteKey
释义

RegDeleteKey

功能:用来删除一个注册表键值。

VB声明

Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long

说明

删除现有项下方一个指定的子项

返回值

Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码

参数表

参数 类型及说明

hKey Long,一个已打开项的句柄,或者标准项名之一

lpSubKey String,要删除项的名字。这个项的所有子

VC函数原型

LONG WINAPI RegDeleteKey(

__in HKEY hKey,

__in LPCTSTR lpSubKey

);

参数:

hKey

注册表打开的键值的句柄。删除的键值必须是拥有访问权限的。如需详细信息,请参阅注册表项的安全和访问权限。

可以使用下列的常量:

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_USERS

lpsubkey

被删除的键值名称。它必须是hkey的一个子项,但它并不能有子项。此参数不能为空。

键值的名称不区分大小写。

函数仅删除最后一层子键以及下面的全部键值项。比如在“HKEY_LOCAL_MACHINE\\Key1\\Key2\\Key3”子键存在的情况下,当hKey指定为HKEY_LOCAL_MACHINE,lpSubKey指向“Key1\\Key2\\Key3”的时候,函数仅删除Key3子键,不会连同Key2,Key1全部删除。但如果Key3子键下有键值项的话,这些键值项会被一起删除。 如果要删除的子键下还存在下一层子键,比如上例中的Key3子键下还存在Key4子键,那么对Key3子键进行删除时,Windows 9x和Windows NT系统的做法是不同的:在Windows 9x中,Key3子键本身、Key3子键下所有的键值项和下层子键(包括上面举例的Key4)会被全部删除;而在Windows NT中,只有在不存在下层子键的情况下删除才能成功,如果Key3子键下还存在Key4子键,那么对Key3子键的删除是不会成功的。

应用程序不能直接在HKEY_LOCAL_MACHINE根键下面创建和删除子键,只能在下一层由系统定义的子键下进行操作,如果要保存配置信息的话,用户应用程序一般在HKEY_LOCAL_MACHINE\\SOFTWARE子键下再创建自己的子键,然后将键值项保存在自己的子键中。

如需详细信息,请参阅注册表元素的大小限制。

返回值

如果函数成功,返回值是ERROR_SUCCESS。

如果函数失败,返回值是非零错误代码定义在 Winerror.h。获得一个通用的描述错误,您可以使用FormatMessage 函数的 format_message_from_system 标志。

言论

删除的键值不能取消,直至最后处理它被关闭。

被删除的键值不能有子项。删除的一个键值和所有其子项,您需要枚举子项,并单独删除他们。删除键递归,使用 RegDeleteTree 或 SHDeleteKey 函数。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 16:02:27