Kurze Frage zum Leerzeichen <= unbeantwortet



  • Kann mal kurz jemand überfliegen warum er den Eintrag nicht macht. Ich hab noch so einen ähnlichen Eintrag mit dem gleichen Befehl. Denn macht er. Meine Vermutung ist das Leerzeichen bei "NV Hostname". Das ist der einzige Unterschied zu dem anderen Befehl.

    HKEY	hKey2;
    
    if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
    		"SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters",
    		0,KEY_WRITE,&hKey) == ERROR_SUCCESS)
    {
    RegSetValueEx(hKey2,"NV Hostname",0,REG_SZ,(unsigned char*)                                                                          m_ServerName.GetBuffer(0),
    m_ServerName.GetLength()+1);
    
    RegCloseKey(hKey2);
    }
    

    Danke



  • zeig mal den anderen Eintrag



  • Ist identisch, nur das "Hostname" dort steht wo jetzt "NV Hostname" steht (und logischer Weise hKey statt hKey2). In der gleichen If-Schleife wie oben.

    RegSetValueEx(hKey,"Hostname",0,REG_SZ,(unsigned char*) m_ServerName.GetBuffer(0),
    m_ServerName.GetLength()+1);
    

    Der funktioniert aber! Deswegen der Verdacht mit dem Leerzeichen.

    Alles zusammen!

    HKEY	hKey;
    HKEY	hKey2;
    
    if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
    "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters",
    0,KEY_WRITE,&hKey) == ERROR_SUCCESS)
    {
    
    // Registryeintrag setzen
    RegSetValueEx(
    hKey,"Hostname",0,REG_SZ,(unsigned char*) m_ServerName.GetBuffer(0),
    m_ServerName.GetLength()+1);
    
    RegSetValueEx(
    hKey2,"NV Hostname",0,REG_SZ,(unsigned char*) m_ServerName.GetBuffer(0),
    m_ServerName.GetLength()+1);
    
    //Registryeintrag schließen
    RegCloseKey(hKey);
    RegCloseKey(hKey2);		
    }
    


  • Du öffnest nur key1, aber nicht key2.



  • 😡 Zu dumm! Danke


Anmelden zum Antworten