词条 | 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。