词条 | RegCloseKey |
释义 | 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,要关闭的项 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。