请输入您要查询的百科知识:

 

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

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/26 22:34:47