AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Anzeigen der IPAdresse UND Name der Verbindung
Thema durchsuchen
Ansicht
Themen-Optionen

Anzeigen der IPAdresse UND Name der Verbindung

Ein Thema von SaltJohn · begonnen am 17. Jun 2008 · letzter Beitrag vom 19. Jun 2008
Antwort Antwort
Seite 3 von 3     123   
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#21

Re: Anzeigen der IPAdresse UND Name der Verbindung

  Alt 19. Jun 2008, 09:43
hi,

Zitat:
Da muss doch noch was gehn oder?
eine andere idee wär vllt. einen konsolen ouput einzufangen und anhand der daten
dann damit zu arbeiten.

ich mein: 1. programm start -> dos: z.B. 'ipconfig /all' -> output einfangen (funktion gibt es schon)
2. den output aufbereiten (ethernetadapter = Name der Verbindung,
Adapter = Adapter Name,
IpAdressen)
3. die aufbereiteten daten in einer liste halten und je nach wunsch drauf zugreifen

wie gesagt, nur ne idee


win2000 : wird hier wirklich alles gleich geschrieben ? testen kann ich es nicht ...


cya
  Mit Zitat antworten Zitat
SaltJohn

Registriert seit: 9. Jun 2008
43 Beiträge
 
#22

Re: Anzeigen der IPAdresse UND Name der Verbindung

  Alt 19. Jun 2008, 10:02
Leider nicht. Also eigentlich sollte es gehen habe die Klassen auf beiden Systemen mit WMI-Demo überprüft. Kannst du mir diesen Ausruck mal genauer erklären?

'Select * from '+ WMI_ClASS +' where caption like '+#39+#37+Adapter+#39,'WQL',0,nil); Was ich mit einer anderen Lösung meinte ist, dass ich immer noch nicht verstehe warum ich nicht alleine mit meiner Funktion an die IP-adresse rankomme.

Man müsste doch nur irgendwie IPAddress so bearbeiten dass ich den String mit der IP erhalte.

Delphi-Quellcode:
function getIPAdr(nt: TNetworktype): string;

var
 wmi : variant;
 wmiService : variant;
 nicstatus : variant;
 card : Olevariant;
 cnt : integer;
 Enum: IEnumVariant;
 P : IUnknown;
 F : Cardinal;
 cardCap : String;
 IPAdresse : String

begin

  WMI:=CreateOleObject('WbemScripting.SWbemLocator');
  wmiService := wmi.ConnectServer('.', 'root\CIMV2');
  nicstatus := wmiService.InstancesOf('Win32_NetworkAdapterConfiguration');
  p := nicstatus._NewEnum;
  p.QueryInterface(IEnumVariant, Enum);
  for cnt := 0 to nicstatus.Count - 1 do
   begin
     Enum.Next(1, card, F);
     cardCap := Copy(card.Caption, 12, MaxInt);
     if cardCap = FAdapter[nt] then
        begin
        IPAdresse := //Hier muss irgendwie über card.IPAdress und einer umwandlung in String die IPAdresse initialisiert werden       
          result := IPAdresse
          break;
        end
   end;

end;
  Mit Zitat antworten Zitat
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#23

Re: Anzeigen der IPAdresse UND Name der Verbindung

  Alt 19. Jun 2008, 10:17
Zitat:
'Select * from '+ WMI_ClASS +' where caption like '+#39+#37+Adapter+#39
entspricht als Beispiel:

Select * Win32_NetworkAdapterConfiguration Where Caption like '%SIS Ethernet Adapter' % = eine Wildcard, ein Platzhalter da davor ja noch [000000xx] steht - % in Verbindung mit like

Caption istals string abgelegt, deshalb in der anfrage das #39, man kann auch mit QuotedStr arbeiten

letzlich will also alle daten haben wo der name des adapters 'SIS Ethernet ...' beinhaltet


cya
  Mit Zitat antworten Zitat
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#24

Re: Anzeigen der IPAdresse UND Name der Verbindung

  Alt 19. Jun 2008, 10:23
ich glaub ich habs jetzt so wie du es willst ...

Delphi-Quellcode:
function GetIPAddress : string;
var
wmi : variant;
wmiService : variant;
nicstatus : variant;
card : Olevariant;
cnt : integer;
Enum: IEnumVariant;
P : IUnknown;
F : Cardinal;
cardCap : String;
strSettingID : String;
i : integer ;
begin

  WMI:=CreateOleObject('WbemScripting.SWbemLocator');
  wmiService := wmi.ConnectServer('.', 'root\CIMV2');
  nicstatus := wmiService.InstancesOf('Win32_NetworkAdapterConfiguration');
  p := nicstatus._NewEnum;
  p.QueryInterface(IEnumVariant, Enum);
  for cnt := 0 to nicstatus.Count - 1 do
   begin
     Enum.Next(1, card, F);
     cardCap := Copy(card.Caption, 12, MaxInt);
     if cardCap = FAdapter then //Wenn Adapter in der jeweiligen Instanz gleich von mir definierter Adapter
        begin
          //result := getWMIValue('Win32_NetworkAdapterConfiguration','IPAddress','Marvell%');
          for i:=0 to vararraydimcount(card.ipaddress) do
              result := result + card.ipaddress[i] + ' ;' ;
          break;
        end
   end;

end;
prüf mal ob es hinkommt, aber ob es unter w2000 läuft weiß ich net

cya
  Mit Zitat antworten Zitat
SaltJohn

Registriert seit: 9. Jun 2008
43 Beiträge
 
#25

Re: Anzeigen der IPAdresse UND Name der Verbindung

  Alt 19. Jun 2008, 10:58
Hi, perfekt! genau das isses Jetzt läuft soweit alles sowohl auf XP als auch auf 2k und ganz ohne zusätzliche Units. Danke!

Noch ne Frage: Die Leerstelle mit Semikolon hast du gemacht falls es mehrere IPs gibt oder?

Anstatt result := result + card.ipaddress[i] + ' ;' ; ginge doch auch result := result + card.ipaddress[i]; oder?
  Mit Zitat antworten Zitat
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#26

Re: Anzeigen der IPAdresse UND Name der Verbindung

  Alt 19. Jun 2008, 11:02
Zitat:
Noch ne Frage: Die Leerstelle mit Semikolon hast du gemacht falls es mehrere IPs gibt oder?
richtig, denn bei mehreren wirds halt so ausgegeben: ip1 ; ip2 ;

Zitat:
result := result + card.ipaddress[i];
macht bei mehreren IP's: ip1ip2 -> (123.123.123.123456.456.456.456)

aber das kannst du ja bequem über vararraydimcount eingrenzen

cya
  Mit Zitat antworten Zitat
SaltJohn

Registriert seit: 9. Jun 2008
43 Beiträge
 
#27

Re: Anzeigen der IPAdresse UND Name der Verbindung

  Alt 19. Jun 2008, 15:08
Hi soulies,

läuft jetzt wirklich rund. Nochmal vielen Dank für die Hilfe und Geduld!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 17:56 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