# IP Adresse ändern



## aibl (15. Dezember 2004)

Da die Suche keine Ergebnisse lieferte, eröffne ich nun einen neues Thema und stelle folgende Frage:
Wie kann ich per C++ die IP Adresse ändern?
Ich will nämlich einen IP-Switcher programmieren, der beim Start der .exe Datei die IP ändern (2 Werte sind in einer config einzugeben) und da hänge ich gerade an dem Problem.


----------



## Scorcher (15. Dezember 2004)

Die schnellste möglichkeit wäre ein Systemaufruf :

```
ret = system("ipconfig ...");
if (ret != 0)
  printf("error");
```
Ich hab den code net getestet, insebsondere habe ich den syntax von ipconfig (windows) net im kopf aber so sollte es gehen
rya.
Scorcher24

edit:
Natürlich gibt es bestimmt dafür auch einen Aufruf der WinAPI. Den weiss ich aber leider grad net.


----------



## Kachelator (15. Dezember 2004)

Soweit ich weiss, kannst du ipconfig leider nur zur Anzeige der IP, nicht aber zum Ändern verwenden.

Wäre übrigens schön, wenn jemand eine Idee hätte, wie das geht, weil ich das gleiche Problem habe. Es geht mir auf den Keks, jedesmal die Netzwerkeinstellungen meines Notebooks von Hand ändern zu müssen, wenn ich im Büro bzw. zu Hause ankomme. Da gibt es zwei Konfigurationen, zwischen denen ich gerne switchen würde.

Irgendwelche Vorschläge?

(Batch oder C# oder so wären auch okay)


----------



## Scorcher (15. Dezember 2004)

Hmm, mit ifconfig gehts  (unix - variante)
Vielleicht gibts dafür nen winport 
Aber schau mal im Netz. Irgendwo gibts dafür bestimmt ne API. Standard Funktionen gibts dafür jedenfalls net.
rya.
Scorcher24

edit:
Follow this steps :

1. Open registry on the HKEY_LOCAL_MACHINE

2. Find the subKey = SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\"netcard# "

"netcard# " usually is "1" but you can control any subkey and find specific netwrok Adapters

Refer to "MSDN Registry Entries for Network Adapter Cards"

3. Get data for the value "ServiceName"

4. Find the subKey = SYSTEM\CurrentControlSet\Services\"ServiceName"\Parameters\TcpIp"

5. Set data for the value "IpAddress" to change IP address

6. Set data for the value "SubnetMask" to change subnet mask

7. Set data for the value "DefaultGateway" to change default gateway

8. Reboot your PC.
So. Das is ne Anleitung für das ändern über die Registry. Wenn du jetzt das ganze mit nem Programm amchst haste die Lösung. Gib mir Zeit dann hab ich vielleicht den Code bald zusammen, weil ich hab mir da mal ein paar funktionen für die Registry gemacht. Ich muss nur die Diskette finden 
rya.
Scorcher


----------



## Kachelator (15. Dezember 2004)

> Hmm, mit ifconfig gehts  (unix - variante)


  Buhuhu! Aber Danke!

Ich habe gerade ein Tool namens Schleppnetz entdeckt, dass das angeblich auch kann (ohne Reboot), und damit bin ich erstmal zufrieden.
-----
Edit: Habe dieses Tool (heisst jetzt anscheinend MultiPlugMate (wow!)) mal getestet und finde es nicht mehr ganz so toll. Bin für Vorschläge zum Speichern und Laden der Netzwerkkonfiguration dankbar. Dann baue ich mir selber was -- mit einem vernünftigen Userinterface!


----------



## Endurion (16. Dezember 2004)

Etwas, aber nicht ganz OT:
Bei der primären Netzwerkkarte gibt's doch ab XP (wer hat denn noch was anderes? 2000 lass ich noch gelten) unter den TCP/IP-Einstellungen neben "allgemein" auch "alternative Konfiguration". Da kann man eine zweite Einstellung speichern und dann dazwischen einfach wechseln.


----------



## xyz007 (6. Dezember 2010)

Hallo

Einen fertigen IP-Switcher samt Sourcen findes du hier:

http://members.inode.at/anton.zechner/az/IpSwitcher.htm

http://members.inode.at/anton.zechner/az/index.html


----------

