[Anfänger] Computername ändern <= unbeantwortet
-
Scheinbar bin Ich mal wieder zu doof. Ich möchte gerne den Computernamen ändern über mein Programm... Wenn Ich es mit dem Befehl
if(RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Control\\ComputerName\\ComputerName", 0,KEY_WRITE,&hKey) == ERROR_SUCCESS) { // Registryeintrag setzen RegSetValueEx( hKey,"ComputerName",0,REG_SZ,(unsigned char*) m_ServerName.GetBuffer(0), m_ServerName.GetLength()+1); //Registryeintrag schließen RegCloseKey(hKey); }mache, passiert nischt. Nach dem Neustart ist alles wie vorher. Mit SetEnviromentVariable kommen Fehler.
-
digi333 schrieb:
Ich möchte gerne den Computernamen ändern über mein Programm... Wenn Ich es mit dem Befehl
Das ist kein Befehl. Strenggenommen gibt's in C und C++ gar keine Befehle. Warum benutzt du nicht SetComputerName?
Mit SetEnviromentVariable kommen Fehler.

Ein Tipp für die Zukunft: Den genauen Wortlaut der Fehlermeldung angeben. Mit "es kommen Fehler" kann niemand etwas anfangen.
-
Danke!

Wie gesagt bin Ich Anfänger und werden deinen Hinweis zu Herzen nehmen und mir für die Zukunft merken.
-
SetComputerName und mein Quelltext machen das selbe... beide schreiben in die Registry unter dem angegebenen Eintrag den Namen. Nach dem Neustart ist auch ein Namenswechsel bedingt (Arbeitsplatz heißt jetzt "Nachname auf Computername") sichtbar, aber der Rechner heißt nicht anders.
Systemsteuerung-> System-> Computername-> Ändern... dort steht der eigentliche (alte) Computername nach wie vor. Wie kann man den den 100%-ig ändern?
-
Verwende bitte "SetComputerName(Ex)".
-
Sagen wir anders: Du bist blauäugig...
Nur das Ändern eines Registry Eintrages ist hier nicht alles... Die Funktion macht mit Sicherheit einiges mehr! Wäre dieser Rechner teil einer Domäne wäre es ja fatal, wenn man mit so einem einfachen Registry Hack einen anderen rechner vorspielen könnte...
-
Ich hab ja nur gemeint, dass die Funktion SetComputerName nach außen hin erstmal nix anderes macht (Ihr habt mich scheinbar falsch verstanden). Ich wollte mir nicht anmaßen irgendwas besseres als SetComputerName geschrieben zu haben. Das ist auch definitiv nicht so, aber diese Reaktion auf die Frage war mir unverständlich, da der Titel ja schon laut schreit, dass Ich ein Anfänger bin.
Nochmal: SetComputerName und der Registryeintrag verändern nicht wirklich den Computernamen. Aus irgendeinem Grund ist nach dem Neustart der alte Name vorhanden. Habt ihr noch eine Idee? Ich teste mal das Programm auf einem anderen PC (, der nicht an das Ethernet verbunden ist - vielleicht irgendwelche Rückspielaktionen oder spezieller Schreibschutz)
Danke für jeden kostruktiven Beitrag!