我知道用RegCreateKeyEx来新建一个主键,我想在里面加入键值,该用什么函数,用RegSetValueEx 吗!

解决方案 »

  1.   

    对,这是我程序的一部分代码
    //下面的程序将在HKEY_LOCAL_MACHINE的子键SoftWare下建立CcProcess键
    //把代码放在initdialog里,如果注册表里没有该子键(CcProcess),将建立
    //否则,将从注册表读出设置
    HKEY hKey;
    HKEY hkResult;
    LONG result;
    hKey=HKEY_LOCAL_MACHINE;
    CString SubKey = "SoftWare\\CcProcess";
    result = RegOpenKeyEx(hKey,SubKey,0,KEY_ALL_ACCESS,&hkResult);
    if(result!=ERROR_SUCCESS)
    {
    result = RegCreateKey(hKey,SubKey,&hkResult);
    if(result != ERROR_SUCCESS)
    {
    MessageBox("程序初始化失败");
    }
    //初始化注册表
    else
    {
    DWORD nUrlListCount = 3;
    RegSetValueEx(hkResult,"nUrlCount",0,REG_DWORD,(CONST BYTE*)&nUrlCount,sizeof(DWORD));
    GetCurrentDirectory(256,strSavePath);
    RegSetValueEx(hkResult,"strSavePath",0,REG_SZ,(const unsigned char*)strSavePath,128);
    RegCloseKey(hkResult);
    }
    }
    //从注册表读出设置,初始化程序
    else
    {
    DWORD Type = REG_SZ,Size = 256;
    RegQueryValueEx(hkResult,"strSavePath",0,&Type,(BYTE*)strSavePath,&Size);
    Type = REG_DWORD,Size = sizeof(DWORD);
    RegQueryValueEx(hkResult,"nUrlCount",0,&Type,(BYTE*)&nUrlCount,&Size);
    RegCloseKey(hkResult);
    }