int NuMber = 155;HKEY OpenKey;
DWORD result;
RegCreateKeyEx(HKEY_USERS,TEXT("LPC\\WordNum"),NULL,TEXT(" "),REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&OpenKey,&result);
RegSetValueEx(HKEY_USERS,TEXT("KeyOfNum"),0,REG_BINARY,(LPBYTE)NuMber,sizeof(LPBYTE));
RegCloseKey(OpenKey);上面是我写的,失败的东西
很简单的要求,小弟今晚折腾了一晚,看遍了网上能搜到的例子,都折腾不出来求能直接用的这两个例子的代码,1、把int NuMber的值往HKEY_USERS\LPC\WordNum下面KeyOfNum写进去2、从注册表里那个位置把这个值读出来成为另外一个int 变量,
涕流叩谢!!!

解决方案 »

  1.   

    别上火,这样试试,先打开根键  
    HKEY    hKey;
    字符串szSoftware让他等于 "Software\\公司名\\工程名\\Settings" ,这个一般项目InitInstace建好了的。
    LONG lErr=RegOpenKeyEx(HKEY_CURRENT_USER,szSoftware,0,KEY_ALL_ACCESS,&hKey);
    如果没出错,用获得的hKey创建键值
    HKEY    hKey2;
    SECURITY_ATTRIBUTES sa;
    sa.nLength = sizeof(SECURITY_ATTRIBUTES);
    sa.lpSecurityDescriptor = NULL;
    sa.bInheritHandle = TRUE;
    lErr = RegCreateKeyEx( hKey,
    str,
    (DWORD)0,
    NULL,
    REG_OPTION_NON_VOLATILE,
    KEY_ALL_ACCESS,
    &sa,
    &hKey2,
    &rlt);str 是创建的新名。写进去:
    lErr = RegSetValueEx(hKey2,
    (LPCTSTR)_T("XXXXXX"),
    (DWORD)0,
    REG_DWORD,
    (BYTE*)(&NuMber), //你要写的数
    sizeof(DWORD));这个HKEY是个接力式的东西,你没搞清楚。
    太困了,有点乱,照着整就能出来
      

  2.   

    按照文档来写就行 貌似msdn说不能在HKCU下建分支 必须是他的子健下面建
    你参数什么的也弄错了
    最简单办法 就是把你的数据 合成一个文件 然后调用系统的regedit /s: xxx.reg
      

  3.   

    int NuMber = 155;HKEY OpenKey;
    DWORD result;
    RegCreateKeyEx(HKEY_CURRENT_USER,TEXT("LPC\\WordNum"),0,TEXT(" "),REG_OPTION_NON_VOLATILE,KEY_CREATE_SUB_KEY|KEY_SET_VALUE,NULL,&OpenKey,&result);char mychar[MAX_PATH];_itoa( NuMber, mychar, 10);printf("%s\r\n",mychar);RegSetValueEx(OpenKey,TEXT("KeyOfNum"),0,REG_BINARY,(LPBYTE)mychar,sizeof(LPBYTE));RegCloseKey(OpenKey);这样行
      

  4.   

    回答过写注册表的
    看看下面帖子我的回答
    http://topic.csdn.net/u/20100403/14/4789f1cd-d8dc-422b-b269-9547f9c7c5c7.html