直接RegSetValueEx(hKey,lpValueName,0,REG_SZ,(BYTE*)string.GetBuffer(string.GetLenght()),string.GetLenght())不行吗?

解决方案 »

  1.   

    RegSetValueEx(hKey,lpValueName,0,REG_SZ,(BYTE*)string.GetBuffer(string.GetLenght()),string.GetLenght()+1)
      

  2.   

    给你一个函数:
    void CTEMPDlg::CreateSetRegKeyValue(CString strKeyValue,char * pKeyValue)
    {
    DWORD dwErrorCode;
             char * pData;
    HKEY hKey;
             DWORD dwDisposition;
    dwErrorCode=::RegCreateKeyEx(HKEY_CURRENT_USER,
    strKeyValue.GetBuffer(strKeyValue.GetLength()),
    0,"",REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,
    NULL,&hKey,&dwDisposition);
    if (dwErrorCode != ERROR_SUCCESS){
    AfxMessageBox("Create Key Faile!");
    }
    pData=pKeyValue;
    dwErrorCode=::RegSetValueEx(HKEY_CURRENT_USER,
    strKeyValue.GetBuffer(strKeyValue.GetLength()),
    0,REG_SZ,(LPBYTE)pData,strlen(pData));
    if (dwErrorCode != ERROR_SUCCESS){
    AfxMessageBox("Set KeyValue Faile!");
    }
    RegCloseKey(hKey);
    }
      

  3.   

    哇!怎么提交上去会这样?!!再来一次void CreateSetRegKeyValue1(CString strKeyValue,char * pKeyValue)
    {
    DWORD dwErrorCode;
    char * pData;
    HKEY hKey;
    DWORD dwDisposition;
    dwErrorCode=::RegCreateKeyEx(HKEY_CURRENT_USER,
    strKeyValue.GetBuffer(strKeyValue.GetLength()),
    0,"",REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,
    NULL,&hKey,&dwDisposition);
    if (dwErrorCode != ERROR_SUCCESS){
    AfxMessageBox("Create Key Faile!");
    }
    pData=pKeyValue;
    dwErrorCode=::RegSetValueEx(HKEY_CURRENT_USER,
    strKeyValue.GetBuffer(strKeyValue.GetLength()),
    0,REG_SZ,(LPBYTE)pData,strlen(pData));
    if (dwErrorCode != ERROR_SUCCESS){
    AfxMessageBox("Set KeyValue Faile!");
    }
    RegCloseKey(hKey);
    }
      

  4.   

    还是老样子,就这样吧,你拷回去,选中,然后按ALT+F8,就会自动对齐了