WriteReg()
{
//test1:在根结点上创建子键档蚂
CString
strSubKey=
"MySubKey"
HKEY
hkey1,
hkey2
long
lrt,
lRtVal
DWORD
dwdisposition=
REG_CREATED_NEW_KEY
if(
ERROR_SUCCESS
==
RegCreateKeyEx(
HKEY_CURRENT_USER,
strSubKey,
0,
NULL,
0,
KEY_CREATE_SUB_KEY
|
KEY_SET_VALUE,
NULL,
&hkey1,
&dwdisposition
)
)
//注:KEY_CREATE_SUB_KEY
|
KEY_SET_VALUE标志分别用于后面创建子键,后创建键值项,
{
//test2:在刚创建的子键(MySubKey)下再创建子键(
MySubSubKey)
lrt
=
RegCreateKeyEx(
hkey1,
"MySubSubKey",
0,
NULL,
0,
KEY_CREATE_SUB_KEY
|
KEY_SET_VALUE,
NULL,
&hkey2,
&dwdisposition
)
//test3:在第一步创建的子键MySubKey下增加键值项
CString
strValue="value
of
the
MySubKey's
valueItem"
lRtVal=
RegSetValueEx(
hkey1,
"valItem1",
0,
REG_SZ,
(const
byte
*)(LPCTSTR)strValue
,
strValue.GetLength()
+
1
)
//test4:在MySubSubKey下创建键值项
if(
lrt
==
ERROR_SUCCESS
)
{
strValue="value
of
the
MySubSubKey's
valueItem"
lRtVal=
RegSetValueEx(
hkey2,
"valItem1",
0,
REG_SZ,
(const
byte
*)(LPCTSTR)strValue
,
strValue.GetLength()
+
1
)
}
}
}
二,读注册表,
函数正蠢绝:RegOpenKeyEx,
RegQueryValueEx
void
ReadReg()
{
//test1,读取MySubSubKey下的valItem1值
CString
strSubkey=
"MySubKey\\MySubSubKey"
HKEY
hKey
char
szValue[100]={0}
if(
ERROR_SUCCESS
==
RegOpenKeyEx(
HKEY_CURRENT_USER,
strSubkey,
0,
KEY_QUERY_VALUE,
&hKey
)
)
{
DWORD
dwType=
REG_SZ
unsigned
long
nSize=
sizeof(szValue)
-
1
if(
ERROR_SUCCESS
==
RegQueryValueEx(
hKey,
"valItem1",
NULL,
&dwType,
(byte
*)szValue,
&nSize
)
)
{
int
a=0
}
}
}
读写注册表要注意访问标志,常用的有:
1,可增加子键:
KEY_CREATE_SUB_EY
2.
可增举姿加键值项:KEY_SET_VALUE
3.可查询键值项:KEY_QUERY_VALUE
1.包含windows.h头文件 2.用API *** 作 注郑正册表API使用法查看MSDN,或网上搜一下;我参考了这里的 http://www.cnblogs.com/ahuo/archive/2007/09/05/883250.html 例: #include<windows.h>#include<stdio.h> main() { HKEY m_hkeyDWORD dwDisposition long ret0=(RegCreateKeyEx (HKEY_CURRENT_USER,L"REGD\\",0,NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&m_hkey,&dwDisposition)) if(ret0!=ERROR_SUCCESS) //如果无法打开hKEY,则终止程序的执行 { MessageBox(NULL,L"错误: 无法打开有关的hKEY!",L"Tips"棚仿,MB_OK|MB_ICONINFORMATION) return } if(dwDisposition==REG_OPENED_EXISTING_KEY) MessageBox(NULL,L"打开了一个已经存在的键",L"Tips",MB_OK|MB_ICONINFORMATION) else { if(dwDisposition==REG_CREATED_NEW_KEY) MessageBox(NULL,L"建立了一个新键",L"Tips",MB_OK|MB_ICONINFORMATION) } RegCloseKey(m_hkey)}记得采纳喊和悔啊
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)