首先判断返回至,是否修改成功了,没有的话,使用GetLastError
不需要刷新
这种情况没有修改成功的可能性大一些,RegOpenKey的时候,有没有指定写权限?

解决方案 »

  1.   

    修改完后用RegistryGetDWORD函数来提取的。观察注册表里已经改过来了,但读取的还是原值。晕了~~~~~
      

  2.   

    RegistryGetDWORD,有这个API函数么?
    帖段代码上来吧
      

  3.   

    // 打开键
    HKEY hKEY;
    LPCTSTR Rgspath = "Software\\Microsoft\\Windows NT\\CurrentVersion";
    LONG ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, Rgspath, 0, KEY_READ, &hKEY);
    if(ret != ERROR_SUCCESS)

     RegCloseKey(hKEY);
     return;
    }
    // 读取键值内容
    DWORD dwInfoSize;
    DWORD type = REG_SZ;
    BYTE UserInfo[255];
    ret = RegQueryValueEx(hKEY, "RegisteredOwner", NULL, &type, UserInfo, &dwInfoSize);
    if(ret!=ERROR_SUCCESS)

     RegCloseKey(hKEY); 
     return;
    }
    ……
    // 关闭键
    RegCloseKey(hKEY);