RegCloseKey是一種函式,函式功能是釋放指定註冊鍵的句柄。
基本介紹
- 中文名:
- 外文名: RegCloseKey
- SDK 函式 : RegCloseKey
- 函式功能描述 : 釋放指定註冊鍵的句柄
- hKey : [輸入] 想要關閉的已經打開的鍵
SDK 函式:RegCloseKey
函式功能描述:釋放指定註冊鍵的句柄
函式原型
LONG RegCloseKey(
HKEY hKey // 釋放鍵的句柄
);
參數
hKey : [輸入] 想要關閉的已經打開的鍵。
返回值: 如果過程執行成功,返回值是 ERROR_SUCCESS。如果功能失敗,返回一個非零值,錯誤碼在 Winerror.h 定義。可以使用FormatMessage 函式和FORMAT_MESSAGE_FROM_SYSTEM 標記獲得一個分類的錯誤描述。
備註: 被關閉的句柄將不可以再使用,因為已經不再有效。
RegCloseKey 函式在返回以前不能執行必要的寫操作;它能夠保持幾秒鐘為快取執行寫入磁碟,如果一個應用程式必須要寫入註冊表到硬碟,應該使用 RegFlushKey、RegFlushKey。.
示例代碼:
//-- 轉換基礎鍵
HKEY GetBaseRegKey(char* keystr)
{
HKEY hKey;
if(strcmp(keystr,"HKEY_CLASSES_ROOT")==0)
hKey=HKEY_CLASSES_ROOT;
if(strcmp(keystr,"HKEY_CURRENT_CONFIG")==0)
hKey=HKEY_CURRENT_CONFIG;
if(strcmp(keystr,"HKEY_CURRENT_USER")==0)
hKey=HKEY_CURRENT_USER;
if(strcmp(keystr,"HKEY_LOCAL_MACHINE")==0)
hKey=HKEY_LOCAL_MACHINE;
if(strcmp(keystr,"HKEY_USERS")==0)
hKey=HKEY_USERS;
return hKey;
}
//-- 創建子鍵
int CreateRegKey(PARAINFO painfo)
{
HKEY bKey;
HKEY hKey;
DWORD lpdwDisposition;
LONG retVal;
char BaseKey[512];
char SubKey[512];
int OpenState;
strcpy(BaseKey,painfo.BaseKey);
strcpy(SubKey,painfo.SubKey);
OpenState = painfo.RegState;
bKey = GetBaseRegKey(BaseKey);
retVal = RegCreateKeyEx( bKey,
SubKey,
NULL,
NULL,
REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&hKey,
&lpdwDisposition);
if(retVal != ERROR_SUCCESS)
{
RegCloseKey(hKey); //-- 關閉句柄
return 1;
}
if(OpenState!= REG_STATE_OPEN)
{
RegCloseKey(hKey); //-- 關閉句柄
}
return 0;
}
需求
Windows NT/2000/XP: 包含在 Windows NT 3.1 以後版本中。
Windows 95/98/Me: 包含在 Windows 95 以後版本中。
Header: 定義在 Winreg.h; 包含在 Windows.h.
Library: 使用 Advapi32.lib.
在VB中聲明
Declare Function RegCloseKey Lib "advapi32.dll" Alias "RegCloseKey" (ByVal hKey As Long) As Long
說明
關閉系統註冊表中的一個項(或鍵)
返回值
Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一個錯誤代碼
參數表
參數 類型及說明
hKey Long,要關閉的項