RegCloseKey

王朝百科·作者佚名  2010-03-07  
宽屏版  字体: |||超大  

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,要关闭的项

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有