![]() |
ip ändern
hi die sufu ergab nix brauchbares über das thema...
weiss jemand wie ich die lokale ip über delphi ändern kann? |
Re: ip ändern
Hi,
Dinge wie die IP-Adresse lassen sich per WMI (Windows Management Instrumentation) ändern. Weiterführende Infomation gibt es in der ![]() Hier ist mal das Beispiel aus der MSDN (VB-Beispiel) umgeschrieben in Delphi, weiß aber nicht ob es schon funktioniert habe es noch nicht getestet.
Delphi-Quellcode:
Gruß
uses ActiveX;
procedure TForm1.Button1Click(Sender: TObject); var aService : ISWbemServices; aColNetAdapters : ISWbemObjectSet; aObjNetAdapter : ISWbemObject; vNVS : OleVariant; aNVSDummy : IDispatch; pEnum : IEnumVARIANT; vOut : OleVariant; dwRetrieved : LongWord; hRes : HResult; vIPAddress : OleVariant; vSubnetMask : OleVariant; vObj : OleVariant; begin vIPAddress := '192.168.111.99'; vSubnetMask := '255.255.255.0'; aService := SWbemLocator1.ConnectServer('','','','','','',0,vNVS); aColNetAdapters := aService.ExecQuery('SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE', 'WQL', 0, aNVSDummy); pEnum := aColNetAdapters.Get__NewEnum as IEnumVARIANT; while (TRUE) do begin hRes := pEnum.Next(1, vObj, dwRetrieved); if hRes <> S_OK then Break; ShowMessage('Instanz gefunden!'); vObj.EnableStatic(vIPAddress, vSubnetMask); end; end; Markus |
Re: ip ändern
es kommen fehlermeldungen wie bei
" aService : ISWbemServices;" undef. bezeichner... --------- gibt es da keine kompo? od. kann man nicht nen lokalen proxy erstellen und über den connecten? das geht doch mit indy od.? |
Re: ip ändern
Zitat:
|
Re: ip ändern
Hallo,
also für die ganzen WMI Sachen gibt es auch Komponenten diese müssen jedoch bezahlt werden und ich denke das willst du nicht. Aber es gibt noch eine andere Möglichkeit die IP-Adresse zu ändern. Soweit ich weiß kann man die IP-Adresse mit dem Consolenbefehl NETSH ändern. Kannst du dir ja mal anschauen. Grüße Markus |
Re: ip ändern
Zitat:
Zur vorgehensweise: Zuerst musst du die Typbibliothek importieren, danach ActiveX in die Uses mit aufnehmen und nun noch die Komponente SWbemLocator aus der Palette ActiveX auf das Formular ziehen. Danach lässt sich der Quelltext ohne Probleme kompilieren. Nur beim ausführen gibt es dann ein Problem. Die ShowMessage Anweisung funktioniert noch wenn er jedoch die IP-Adresse setzen will kommt der Fehler Typ passt nicht. Bisher weiß ich aber auch noch nicht warum ich habe es auch schon mit einem Savearray versucht doch dann kommt der gleiche Fehler hat jemand vielleicht eine Ahnung an was das liegen könnte. Gruß Markus |
Re: ip ändern
habe es jetzt so gelöst dass ich ne batch erstelle und da
"netsh interface ip set address name="LAN-Verbindung" source=static addr=192.168.120.254 mask=255.255.255.0" reinschreibe und diese starte. hauptsache es erfüllt seinen zweck ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz