我用下面语句往注册表中写数据,
    DWORD dwDisposition;
HKEY m_hKey;
//打开注册表
LONG ret = RegCreateKeyE
(HKEY_LOCAL_MACHINE, "SOFTWARE\\xinyu", 0L, NULL,
REG_OPTION_VOLATILE, KEY_ALL_ACCESS, NULL, &m_hKey, &dwDisposition);
ret = RegSetValueEx (m_hKey, "Number", NULL,      //写入数字
REG_DWORD,(CONST BYTE*)&Number,sizeof(DWORD));
  可是为什么我重新启动计算机后里面的数据全没了,我该怎么办?

解决方案 »

  1.   

    http://blog.csdn.net/rockhwnd/archive/2004/07/29/55774.aspx
    问:如题,我在HLM\\SOFTWARE\\AAA,AAA这个目录(好像不该叫目录,但是不知道怎么称呼,明白就可以)也是我增加的,AAA下增加了一个DWORD值,不重新启动有效的,读得出来,但是怎么一重新启动我增加的AAA也没了,下面的DWORD也自然没了,奇怪,机器是正常关机的,用的是Xp系统,管理员账号登陆,怪不怪?
    谢谢,请解释一下问题在哪里?解答:是用RegCreateKeyEx()创建的吗?
    注意第五个参数dwOptions用的是哪个值~~
    如果是 REG_OPTION_VOLATILE的话,创建的值只要重起机器就没了~~
    要保留的话,要用 REG_OPTION_NON_VOLATILE~~