AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ip ändern

Ein Thema von the_seed · begonnen am 26. Mai 2004 · letzter Beitrag vom 27. Mai 2004
Antwort Antwort
the_seed

Registriert seit: 31. Dez 2003
213 Beiträge
 
#1

ip ändern

  Alt 26. Mai 2004, 12:59
hi die sufu ergab nix brauchbares über das thema...
weiss jemand wie ich die lokale ip über delphi ändern kann?
  Mit Zitat antworten Zitat
Benutzerbild von elliot2extreme
elliot2extreme

Registriert seit: 6. Jun 2003
Ort: Mannheim
68 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: ip ändern

  Alt 26. Mai 2004, 13:19
Hi,

Dinge wie die IP-Adresse lassen sich per WMI (Windows Management Instrumentation) ändern. Weiterführende Infomation gibt es in der MSDN (WMI). Damit die Programmierhilfe von Delphi auch für die WMI-Interfaces zur Verfügung steht, wird zuerst die Typbibliothek Microsoft WMI Scripting V 1.x Library importiert. Delphi legt dabei auch auf Wunsch optional auch die VCL-Wrapperkomponenten für WMI an.

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:
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;
Gruß

Markus
Markus
  Mit Zitat antworten Zitat
the_seed

Registriert seit: 31. Dez 2003
213 Beiträge
 
#3

Re: ip ändern

  Alt 26. Mai 2004, 16:40
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.?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: ip ändern

  Alt 26. Mai 2004, 17:39
Zitat von the_seed:
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.?
Du hast schon gelesen, was er vor seinem Quellcode geschrieben hat?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von elliot2extreme
elliot2extreme

Registriert seit: 6. Jun 2003
Ort: Mannheim
68 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: ip ändern

  Alt 27. Mai 2004, 08:16
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
Markus
  Mit Zitat antworten Zitat
Benutzerbild von elliot2extreme
elliot2extreme

Registriert seit: 6. Jun 2003
Ort: Mannheim
68 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: ip ändern

  Alt 27. Mai 2004, 08:42
Zitat von the_seed:
es kommen fehlermeldungen wie bei
" aService : ISWbemServices;" undef. bezeichner...
Habe es gerade mal ausprobiert.

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
Markus
  Mit Zitat antworten Zitat
the_seed

Registriert seit: 31. Dez 2003
213 Beiträge
 
#7

Re: ip ändern

  Alt 27. Mai 2004, 10:48
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz