Wie IP-Adresse ändern?
Verfasst: 13.07.2007 18:29
Hallo Leute,
wie kann ich die IP-Adresse ändern?
Hintergrund: ich möchte ein kleines Programm programmieren, das schnell meine IP-Adresse ändert (z.B. von DHCP nach statische IP-Adresse und zurück).
Sehr wahrscheinlich geht es nur über API - ich blicke aber in diesen miserablen API-Funktionen nicht durch
Kennt jemand eine Funktion oder hat jemand Erfahrung?
Ich bin bis jetzt nur so weit, dass ich meine eigene IP-Adresse ermitteln kann:
(Achtung! Codes sind zum größten Teil aus dem Code-Archiv!)
wie gesagt, ich habe die Prozeduren klein wenig angepasst, sie stammen nicht von mir!
OK - vielen Dank im voraus und schönes Wochenende
PSi
wie kann ich die IP-Adresse ändern?
Hintergrund: ich möchte ein kleines Programm programmieren, das schnell meine IP-Adresse ändert (z.B. von DHCP nach statische IP-Adresse und zurück).
Sehr wahrscheinlich geht es nur über API - ich blicke aber in diesen miserablen API-Funktionen nicht durch



Kennt jemand eine Funktion oder hat jemand Erfahrung?
Ich bin bis jetzt nur so weit, dass ich meine eigene IP-Adresse ermitteln kann:
(Achtung! Codes sind zum größten Teil aus dem Code-Archiv!)
Code: Alles auswählen
Procedure.s MyGetLocalHostname()
Puffer.s = Space(1024) ; Puffer für Stringvariable mit 1024 Zeichen
Pufferlaenge.l = 1024 ; Größe der Puffervariable (auch 1024)
GetComputerName_(@Puffer.s, @Pufferlaenge.l) ; API-FUNKTION
ProcedureReturn Puffer.s ; Rückgabewert der Prozedur
EndProcedure
Procedure.s MyGetIPbyHost(Hostname.s)
InitNetwork()
Structure HOSTENT
h_name.l
h_aliases.l
h_addrtype.w
h_length.w
h_addr_list.l
EndStructure
TheIPAdress.s
pHostinfo = gethostbyname_(Hostname)
CopyMemory(pHostinfo, hostinfo.HOSTENT, SizeOf(HOSTENT))
If hostinfo\h_addrtype <> #AF_INET
ProcedureReturn ""
Else
While PeekL(hostinfo\h_addr_list+AdressNumber * 4)
ipAddress = PeekL(hostinfo\h_addr_list + AdressNumber * 4)
TheIPAdress = StrU(PeekB(ipAddress), 0) + "." + StrU(PeekB(ipAddress+1), 0) + "." +StrU(PeekB(ipAddress+2), 0) + "." + StrU(PeekB(ipAddress+3), 0)
AdressNumber + 1
Wend
EndIf
ProcedureReturn TheIPAdress
EndProcedure
MessageRequester("Debug", "Meine aktuelle IP ist: " + MyGetIPbyHost(MyGetLocalHostname()), 0)
OK - vielen Dank im voraus und schönes Wochenende
PSi