我要给注册表的某项写值,但RegSetValueEx()老是返回失败!~代码如下,请高人指点下,我真是没辙了~
LONG lnRes;
HKEY hKey;
DWORD dwSize=sizeof(DWORD);
DWORD dwWidth,dwHeight;
dwWidth=(DWORD)(1111);
lnRes=RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\**公司\\**工作站\\DefaultFilmPixSize",0,KEY_READ,&hKey);
if(lnRes==ERROR_SUCCESS)
{
AfxMessageBox("注册表打开成功·!");
lnRes=RegSetValueEx(hKey,"14INX17IN_Width",0,REG_DWORD,(const BYTE *)&dwWidth,sizeof(DWORD)); if(lnRes==ERROR_SUCCESS)
{
AfxMessageBox("注册表已成功修改·!");
}
else
{
AfxMessageBox("注册表修改失败·!");
}
}
else
{
AfxMessageBox("注册表打开失败·!");
}
LONG lnRes;
HKEY hKey;
DWORD dwSize=sizeof(DWORD);
DWORD dwWidth,dwHeight;
dwWidth=(DWORD)(1111);
lnRes=RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\**公司\\**工作站\\DefaultFilmPixSize",0,KEY_READ,&hKey);
if(lnRes==ERROR_SUCCESS)
{
AfxMessageBox("注册表打开成功·!");
lnRes=RegSetValueEx(hKey,"14INX17IN_Width",0,REG_DWORD,(const BYTE *)&dwWidth,sizeof(DWORD)); if(lnRes==ERROR_SUCCESS)
{
AfxMessageBox("注册表已成功修改·!");
}
else
{
AfxMessageBox("注册表修改失败·!");
}
}
else
{
AfxMessageBox("注册表打开失败·!");
}
//////
KEY_READ 改为 KEY_READ|KEY_WRITE
RegOpenKeyEx用KEY_READ 打开的方式不允许写操作
LONG lnRes;
HKEY hKey;
DWORD dwDisposition;
DWORD dwSize=sizeof(DWORD);
DWORD dwWidth,dwHeight;
dwWidth=(DWORD)(1111);
lnRes=RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\**公司\\**工作站\\DefaultFilmPixSize",0,KEY_READ,&hKey);
if(lnRes==ERROR_SUCCESS)
{
AfxMessageBox("注册表打开成功·!");
lnRes = 0; //这里返回值要初期化
if(!RegCreateKeyEx(HKEY_CURRENT_USER,"Software\\**公司\\**工作站\\DefaultFilmPixSize", 0, "",REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition))
{
lnRes=RegSetValueEx(hKey,"14INX17IN_Width",0,REG_DWORD,(const BYTE *)&dwWidth,sizeof(DWORD));
}
if(lnRes==ERROR_SUCCESS)
{
AfxMessageBox("注册表已成功修改·!");
}
else
{
AfxMessageBox("注册表修改失败·!");
}
}
else
{
AfxMessageBox("注册表打开失败·!");
}