C注册表操作大全.docx
- 文档编号:1588281
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:18
- 大小:17.16KB
C注册表操作大全.docx
《C注册表操作大全.docx》由会员分享,可在线阅读,更多相关《C注册表操作大全.docx(18页珍藏版)》请在冰豆网上搜索。
C注册表操作大全
C++注册表操作大全.txt用快乐去奔跑,用心去倾听,用思维去发展,用努力去奋斗,用目标去衡量,用爱去生活。
钱多钱少,常有就好!
人老人少,健康就好!
家贫家富,和睦就好。
1.打开键
CStringStrKey(%%1);
HKEYm_hKey=%%2;
if(ERROR_SUCCESS==:
:
RegOpenKeyEx(m_hKey,StrKey,NULL,KEY_ALL_ACCESS,&m_hKey))
{
%%3
}
2.添加键
CStringStrKey(%%1);
HKEYhKey;
DWORDdwDisposition;
if(ERROR_SUCCESS==:
:
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
}
}
3.删除键
CStringStrKey(%%1);
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)
{
%%2
}
4.枚举第一个键
DWORDdwSize=255;
m_EnumLoop=0;
if
(ERROR_SUCCESS==:
:
RegEnumKeyEx(m_hKey,m_EnumLoop,%%1,&dwSize,NULL,NULL,NULL,NULL
))
{
%%2
}
5.枚举下一个键
DWORDdwSize=255;
m_EnumLoop++;
if
(ERROR_SUCCESS==:
:
RegEnumKeyEx(m_hKey,m_EnumLoop,%%1,&dwSize,NULL,NULL,NULL,NULL
))
{
%%2
}
6.获取DWORD值
CStringStrChildKey(%%1);
DWORD%%1;
DWORDdwSize=255,dwType=REG_DWORD;
if(ERROR_SUCCESS==:
:
RegQueryValueEx(m_hKey,StrChildKey,0,&dwType,(BYTE
*)(&%%2),&dwSize))
{
%%2
}
7.获取二进制值
CStringStrChildKey(%%1);
DWORD%%1;
DWORDdwSize=255,dwType=REG_BINARY;
if(ERROR_SUCCESS==:
:
RegQueryValueEx(m_hKey,StrChildKey,0,&dwType,(BYTE
*)(&%%2),&dwSize))
{
%%2
}
8.读取字符串值
CStringStrChildKey(%%1);
CString%%2;
DWORDdwSize=255,dwType=REG_SZ;
charString[256];
if(ERROR_SUCCESS==:
:
RegQueryValueEx(m_hKey,StrChildKey,0,&dwType,(BYTE
*)String,&dwSize))
%%2=CString(String);
9.写入字符串值
CStringStrChildKey(%%1);
CStringValue;
CString%%2;
if(ERROR_SUCCESS==:
:
RegSetValueEx(m_hKey,(LPCTSTR)StrChildKey,0,REG_SZ,(BYTE*)(LPCSTR)Value,strlen(Value)+1))
%%2=CString(Value);
10.写入二进制值
CStringStrChildKey(%%1);
constchar*%%2;
if
(ERROR_SUCCESS==:
:
RegSetValueEx(m_hKey,(LPCTSTR)StrChildKey,0,REG_BINARY,(BYTE
*)%%2,strlen(Value)))
{
%%3
}
11.写入DWORD值
CStringStrChildKey(%%1);
DWORD%%2;
if(ERROR_SUCCESS==:
:
RegSetValueEx(m_hKey,(LPCTSTR)StrChildKey,0,REG_DWORD,(BYTE
*)&%%2,sizeof(Value)))
{
%%3
}
12.设置DWORD值
BOOLCRegEdit:
:
SetDwordValue(HKEYRoot,LPCTSTRStrKey,LPCTSTRStrChildKey,DWORDValue)
m_hKey=m_RootKey=Root;
if(CreateKey(StrKey))
{
if(WriteDword(StrChildKey,Value))
{
%%2
}
13.删除值
if(ERROR_SUCCESS==RegDeleteValue(m_hKey,%%1))
{
%%2
}
14.关闭键
if(m_hKey!
=NULL)
:
:
RegCloseKey(m_hKey);
15.列出一个键下所有的子键
//#defineMAX_KEY_LENGTH255
TCHARsubKey[MAX_KEY_LENGTH];
DWORDnumSubKey=0;
DWORDi;
DWORDsizeSubKey;
TCHARsubKey[MAX_KEY_LENGTH];
RegQueryInfoKey(m_hKey,NULL,NULL,NULL,&numSubKey,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
if(numSubKey)
{
for(i=0;i { subKey[0]='\0'; sizeSubKey=MAX_KEY_LENGTH; RegEnumKeyEx(m_hKey,i,subKey,&sizeSubKey,NULL,NULL,NULL,NULL); CString%%1=CString(subKey); } } 16.列出一个键下所有的值 //#defineMAX_KEY_LENGTH255 //#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;i { cchValue=MAX_VALUE_NAME; achValue[0]='\0'; retCode=RegEnumValue(m_hKey,i,achValue,&cchValue,NULL,NULL,NULL,NULL); if(retCode==ERROR_SUCCESS){ CString%%1=CString(achValue); %%2 } } } 17.列出一个键下所有的子键和值 //#defineMAX_KEY_LENGTH255 //#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(cSubKeys) { for(i=0;i { cbName=MAX_KEY_LENGTH; retCode=RegEnumKeyEx(m_hKey,i,achKey,&cbName,NULL,NULL,NULL,&ftLastWriteTime);if(retCode==ERROR_SUCCESS){ CString%%1=CString(achKey); %%2 } } } if(cValues) { for(i=0,retCode=ERROR_SUCCESS;i { cchValue=MAX_VALUE_N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 注册表 操作 大全