RegDeleteKey

RegDeleteKey是用來刪除一個註冊表鍵值,在計算機註冊列表里能找到。

基本介紹

  • 中文名:RegDeleteKey
  • 參數表:hKey Long
  • 說明:刪除現有項下方一個指定的子項
  • 功能:用來刪除一個註冊表鍵值
定義,參數說明,

定義

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,要刪除項的名字。這個項的所有子
LONG WINAPI RegDeleteKey(
__in HKEY hKey,
__in LPCTSTR lpSubKey
);
參數:
hKey
註冊表打開的鍵值的句柄。刪除的鍵值必須是擁有訪問許可權的。如需詳細信息,請參閱註冊表項的安全和訪問許可權。
可以使用下列的常量:
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 函式。

相關詞條

熱門詞條

聯絡我們