熟悉注册表编程的高手进入
ckeyitem=creglist.Mid(pos1+2,pos2-pos1-4+1);
long iresult=0;
iresult=reg.Open(HKEY_LOCAL_MACHINE,ckeyitem);
if(ERROR_SUCCESS!=iresult)
{
MessageBox( "打开失败 ");
}
lpkeyvalue=ckeyvalue;
iresult=reg.DeleteSubKey(ckeyvalue);
iresult=reg.DeleteValue(ckeyvalue);
if(ERROR_SUCCESS!=iresult)
{
MessageBox( "删除失败 ");
}
reg.Close();
ckeyitem是 software//Microsoft//Windows//CurrentVersion//Run
执行 打开注册表一句时报“打开失败”,并且iresult返回值为2
然而奇怪的是,我当前用户是管理员,
当我手动打开注册表编辑器,手动双击点开这个键值后再运行此程序
不但iresult为0,打开通过了,而且还能顺利执行下面的删除语句
请问为什么??
[解决办法]
MSDN中有详细的说明和例子