为什么RegCreateKeyEx返回正确但是没有建立注册表呢

liyu5983   2008-10-29 16:45 楼主
  
LPWSTR lpClass=L"TimeFromat";
if(ERROR_SUCCESS == RegCreateKeyEx(HKEY_LOCAL_MACHINE,ALARM_KEY,0,lpClass,
                                                   REG_OPTION_NON_VOLATILE,0,NULL,&phkResult,&dwDisposition))
   {
           RETAILMSG(1,(L"Create REG sucessful \n"));
        if(dwDisposition==REG_OPENED_EXISTING_KEY)
         {
               
                RegQueryValueEx(phkResult,lpClass,NULL,&dwtype,  (LPBYTE)&(data), &cbData);
        }else
                RegSetValueEx(phkResult,lpClass,0,REG_DWORD,(LPBYTE)&data,cbData);
       
        RegCloseKey(phkResult);
   }

这里RegCreateKeyEx 返回的就是ERROR_SUCCESS ,但是不知道为什么我打开注册表 在
HKEY_LOCAL_MACHINE\ALARM_KEY下并没有任何的子键建立呢? 谢谢

再问 LPWSTR lpClass 这个参数是表示子键下的键值么? 谢谢

回复评论 (5)

子键和新建的键值放到ALARM_KEY当中。类似于这样的写法。#define ALARM_KEY  TEXT("Software\\Microsoft\\Today\\Items\\mytoday")
lpClass这个参数一般ignored。其他参数OK.
RegSetValueExH函数lpClass变量是该子键中的变量。
点赞  2008-10-29 17:02
你是要在ALARM_KEY下面创建一个键值还是子键?
RegCreateKeyEx中的lpClass直接传NULL就可以了,RegSetValueEx中的第二个参数表示键值的name
点赞  2008-10-29 17:06
调试一下你的程序!!!
点赞  2008-10-29 17:35
我是想在 “Software\\Microsoft\\Today\\Items” 下建立子键1,2,3,4...
动态添加

然后是键值也随之添加

引用: 引用 1 楼 cytlyy 的回复:
子键和新建的键值放到ALARM_KEY当中。类似于这样的写法。#define ALARM_KEY  TEXT("Software\\Microsoft\\Today\\Items\\mytoday")
lpClass这个参数一般ignored。其他参数OK.
RegSetValueExH函数lpClass变量是该子键中的变量。
点赞  2008-10-30 09:11
对注册表进行刷新
点赞  2008-11-1 13:19
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复