string in BYTE



  • Hallo Leute,

    ich versuche gerade daten aus der Datenabnk in die Gegistry zu speichern.

    Ich hänge momentan daran, dass ich einen std::string habe und der eintrag in der registry ein BYTE benötigt.

    std::string test = m_vDBRegSchluessel[i].strWert;
    			BYTE cString[] = test; 
    
    			RegSetValueEx(hKey,m_vDBRegSchluessel[i].strVersions_Typ.c_str(),0,REG_SZ,cString,8);
    

    kann mir jemand Helfen ??

    Gru und Danke
    andy_mann



  • Mit REG_SZ als dwtype gibst Du doch an, das es ein String ist, der eingetragen werden soll. Willst Du ein Byte eintragen, mußt Du entsprechend REG_DWORD (ist dann aber long) oder REG_BINARY mit der Länge 1 für BYTE angeben.



  • Hallo,

    ich möchte schon ein REG_SZ haben.
    Einen string nimmt er mir aber nicht an....

    error C2664: 'RegSetValueExA': Konvertierung des Parameters 5 von 'std::string' in 'const BYTE *' nicht möglich
    
    BYTE cString[] = "Hallo";
    

    nimmt er dagegen an.

    Gruß
    andy_mann



  • Ich habe es jetzt so gemacht..

    CString m_strWert = m_vDBRegSchluessel[i].strWert.c_str();
    			int strLaenge = m_strWert.GetLength();
    			char String[50] = ""; 
    			strcpy (String,m_strWert); 
    
    			RegSetValueEx(hKey,m_vDBRegSchluessel[i].strVersions_Typ.c_str(),0,REG_SZ,(CONST BYTE*)String, strLaenge); 
    
    			RegCloseKey(hKey);
    

    So funktioniert es.

    Gruß
    andy_mann


Anmelden zum Antworten