C注册表操作大全文档格式.docx

上传人:b****1 文档编号:14510084 上传时间:2022-10-23 格式:DOCX 页数:18 大小:17.16KB
下载 相关 举报
C注册表操作大全文档格式.docx_第1页
第1页 / 共18页
C注册表操作大全文档格式.docx_第2页
第2页 / 共18页
C注册表操作大全文档格式.docx_第3页
第3页 / 共18页
C注册表操作大全文档格式.docx_第4页
第4页 / 共18页
C注册表操作大全文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C注册表操作大全文档格式.docx

《C注册表操作大全文档格式.docx》由会员分享,可在线阅读,更多相关《C注册表操作大全文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

C注册表操作大全文档格式.docx

}

2.添加键

HKEYhKey;

DWORDdwDisposition;

RegCreateKeyEx(m_hKey,(LPCTSTR)StrKey,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&

hKey,&

dwDisposition))

m_hKey=hKey;

if(dwDisposition==REG_CREATED_NEW_KEY)

%%2

elseif(dwDisposition==REG_OPENED_EXISTING_KEY)

3.删除键

HKEYSrcKey=m_hKey;

charKeyName[256];

intnRes=0;

if(OpenKey(SrcKey,StrKey))

nRes=FirstEnumKey(KeyName);

while(nRes)

DeleteKey(KeyName);

nRes=NextEnumKey(KeyName);

if(:

RegDeleteKey(SrcKey,StrKey)==ERROR_SUCCESS)

4.枚举第一个键

DWORDdwSize=255;

m_EnumLoop=0;

if

(ERROR_SUCCESS==:

RegEnumKeyEx(m_hKey,m_EnumLoop,%%1,&

dwSize,NULL,NULL,NULL,NULL

))

5.枚举下一个键

m_EnumLoop++;

6.获取DWORD值

CStringStrChildKey(%%1);

DWORD%%1;

DWORDdwSize=255,dwType=REG_DWORD;

RegQueryValueEx(m_hKey,StrChildKey,0,&

dwType,(BYTE

*)(&

%%2),&

dwSize))

7.获取二进制值

DWORDdwSize=255,dwType=REG_BINARY;

8.读取字符串值

CString%%2;

DWORDdwSize=255,dwType=REG_SZ;

charString[256];

*)String,&

%%2=CString(String);

9.写入字符串值

CStringValue;

RegSetValueEx(m_hKey,(LPCTSTR)StrChildKey,0,REG_SZ,(BYTE*)(LPCSTR)Value,strlen(Value)+1))

%%2=CString(Value);

10.写入二进制值

constchar*%%2;

RegSetValueEx(m_hKey,(LPCTSTR)StrChildKey,0,REG_BINARY,(BYTE

*)%%2,strlen(Value)))

11.写入DWORD值

DWORD%%2;

RegSetValueEx(m_hKey,(LPCTSTR)StrChildKey,0,REG_DWORD,(BYTE

*)&

%%2,sizeof(Value)))

12.设置DWORD值

BOOLCRegEdit:

SetDwordValue(HKEYRoot,LPCTSTRStrKey,LPCTSTRStrChildKey,DWORDValue)

m_hKey=m_RootKey=Root;

if(CreateKey(StrKey))

if(WriteDword(StrChildKey,Value))

13.删除值

if(ERROR_SUCCESS==RegDeleteValue(m_hKey,%%1))

14.关闭键

if(m_hKey!

=NULL)

RegCloseKey(m_hKey);

15.列出一个键下所有的子键

//#defineMAX_KEY_LENGTH255

TCHARsubKey[MAX_KEY_LENGTH];

DWORDnumSubKey=0;

DWORDi;

DWORDsizeSubKey;

RegQueryInfoKey(m_hKey,NULL,NULL,NULL,&

numSubKey,NULL,NULL,NULL,NULL,NULL,NULL,NULL);

if(numSubKey)

for(i=0;

i<

numSubKey;

i++)

subKey[0]='

\0'

;

sizeSubKey=MAX_KEY_LENGTH;

RegEnumKeyEx(m_hKey,i,subKey,&

sizeSubKey,NULL,NULL,NULL,NULL);

CString%%1=CString(subKey);

16.列出一个键下所有的值

//#defineMAX_VALUE_NAME16383

TCHARachKey[MAX_KEY_LENGTH];

DWORDcbName;

TCHARachClass[MAX_PATH]=TEXT("

"

);

DWORDcchClassName=MAX_PATH;

DWORDcSubKeys=0;

DWORDcbMaxSubKey;

DWORDcchMaxClass;

DWORDcValues;

DWORDcchMaxValue;

DWORDcbMaxValueData;

DWORDcbSecurityDescriptor;

FILETIMEftLastWriteTime;

DWORDi,retCode;

TCHARachValue[MAX_VALUE_NAME];

DWORDcchValue=MAX_VALUE_NAME;

retCode=RegQueryInfoKey;

(m_hKey,achClass,&

cchClassName,NULL,&

cSubKeys,&

cbMaxSubKey,&

cchMaxClass,&

cValues,&

cchMaxValue,&

cbMaxValueData,&

cbSecurityDesc

riptor,&

ftLastWriteTime);

if(cValues)

for(i=0,retCode=ERROR_SUCCESS;

cValues;

cchValue=MAX_VALUE_NAME;

achValue[0]='

retCode=RegEnumValue(m_hKey,i,achValue,&

cchValue,NULL,NULL,NULL,NULL);

if(retCode==ERROR_SUCCESS){

CString%%1=CString(achValue);

17.列出一个键下所有的子键和值

retCode=RegQueryInfoKey

if(cSubKeys)

cSubKeys;

cbName=MAX_KEY_LENGTH;

retCode=RegEnumKeyEx(m_hKey,i,achKey,&

cbName,NULL,NULL,NULL,&

if(retCode==ERROR_SUCCESS){

CString%%1=CString(achKey);

cchValue=MAX_VALUE_N

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1