Zmiania adresu IP niezale?żnie od ISP

0

Witam.
Szukałem już na forum ale ciężko jest znaleźć jednoznaczną odpowiedź na mój problem: W jaki sposób można zmienić IP karty sieciowej?
Chodzi o to, że jestem wpiety do LANa, gdzie każdy może mieć dowolny numer IP-nikt nikomu żadnego numeru nie przydziela. Jest jeden zakres numerów i każdy może sobie dowolnie numer zmienić np: raz przydzielę sobie 192.168.0.20 a innym razem 192.168.0.56 itd.
Jak zmienić ten numer za pomocą Delphi? Znalazłem pewien skrypt VBS, który coś takiego robi. Ma on jednak te wadę, że jeżeli w komputerze znajduje się więcej kart sieciowych to wszystkim kartom przydziela ten sam numer IP.
Jeżeli ktoś wie jak to zrobić będę bardzo wdzięczny za pomoc.
pozdrawiam.</delphi>

0

wpis w rejestrze, było, przeszukaj forum

0

Owszem, można zmienić wpis w rejestrze ale zmiany zostaną uwzględnione dopiero przy następnym uruchomieniu systemu. Chodzi mi o to, żeby te zmiany zostały odczytane od razu, żeby zaraz po zmianie parametrów (IP, maski, bramy) karta sieciowa pracowała już na nowym adresie.
Skrypt VBS robi to w ten sposób:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
strIPAddress = Array(Wscript.Arguments.Item(0))
strSubnetMask = Array(Wscript.Arguments.Item(1))
strGateway = Array(Wscript.Arguments.Item(2))
strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
If errEnable = 0 Then
WScript.Echo "The IP address has been changed."
Else
WScript.Echo "The IP address could not be changed."
End If
Next

Zmieny zostają uwzględnione od razu. Można to jakoś przerobić na kod Delphi?

0

do glowy mi przychodzi Windows SDK i MSDN

1 użytkowników online, w tym zalogowanych: 0, gości: 1