高手进来帮忙啊。。。。。。这段代码老执行不成功呀?
CString pathString;
char subChar[MAX_BUFF_SIZE] = "Software\\netmsg\\ " ;
HKEY hKey;
long retLong;
retLong = ::RegOpenKeyEx(
HKEY_CURRENT_USER, // handle to open key
subChar, // subkey name
0, // reserved
KEY_ALL_ACCESS, // security access mask
&hKey // handle to open key
);
if (ERROR_SUCCESS != retLong)
{
AfxMessageBox( "打开注册表出错1! ");
}
memset(subChar,0,sizeof(subChar));
LPBYTE subLPBYTE = new BYTE[80];
DWORD subDword = 80;
retLong = ::RegQueryValueEx(hKey, "ClientSet ",NULL,NULL,subLPBYTE,&subDword);
if (ERROR_SUCCESS != retLong )
{
char subKeyBuffer[MAX_BUFF_SIZE] = "ClientSet ";
HKEY subKey;
DWORD dwFunc;
retLong = ::RegCreateKeyEx(hKey,
(LPCTSTR)subKeyBuffer,//要创建的子键名字的地址
0,//保留值,必须为0
(LPTSTR)NULL,
KEY_ENUMERATE_SUB_KEYS,
KEY_CREATE_SUB_KEY,
(LPSECURITY_ATTRIBUTES)NULL,
&subKey,
&dwFunc);
if (ERROR_SUCCESS != retLong)
{
AfxMessageBox( "创建子键出错! ");
}
//::RegCloseKey(hKey);
//retLong = ::RegOpenKeyEx(
// HKEY_CURRENT_USER, // handle to open key
//subChar, // subkey name
//0, // reserved
//KEY_ALL_ACCESS, // security access mask
//&hKey // handle to open key
//);
//if (ERROR_SUCCESS != retLong)
//{
//AfxMessageBox( "打开注册表出错1! ");
//}
LPCTSTR filePath = "e:\\dfg.db ";
char subKeyBuffer1[MAX_BUFF_SIZE] = "dbpath ";
DWORD cbData = strlen(filePath)+1;
retLong = ::RegSetValueEx(
subKey,
"dbpath ",
0,
REG_SZ,
(LPBYTE)filePath,
cbData);
if (ERROR_SUCCESS != retLong)
{
AfxMessageBox( "设置子键值出错2! ");
}
=================================================
总是提示 设置子键值出错2 ,RegSetValueEx 运行不成功!
[解决办法]
subKey没有赋值
[解决办法]
我是菜鸟,自己调试先~~不行找点示例程序看看
[解决办法]
创建后还要打开,才能查询或设置值
[解决办法]
subKey没有赋值