![]() |
Gateway IP über API auslesen TeilII
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
ich habe aus einem anderen Beitrag mal eine Codesequenz "geklaut" und diese in meinem Programm eingebaut und so angepaßt das alles in meiner Listbox auftaucht. Jedoch wird bei mir 4x ein Gateway angezeigt aber nur einmal mit einer IP. Jetzt bin ich ehrlich gesagt noch nicht so "Bibelfest" das ich eigenmächtig den Code so anpassen kann, das nur der Eintrag mit der entsprechenden IP angezeigt wird und die leeren eben nicht. Hier mal meine/gefundene Funktion:
Delphi-Quellcode:
Im Anhang mal das aktuelle Erscheinungsbild des Programmes. Ich hoffe ihr versteht was ich meine.
procedure GetGateway (const AItems:TStrings);
var dwResult : DWORD; dwLen : DWORD; pAdapterWork : PIP_ADAPTER_INFO; pAdapterList : PIP_ADAPTER_INFO; iasWork : IP_ADDR_STRING; begin pAdapterList := nil; dwLen := 0; dwResult := GetAdaptersInfo(pAdapterList,@dwLen); if dwResult = ERROR_BUFFER_OVERFLOW then begin pAdapterList := AllocMem(dwLen); try dwResult := GetAdaptersInfo(pAdapterList,@dwLen); if dwResult = ERROR_SUCCESS then begin pAdapterWork := pAdapterList; //cobGateway.Clear; repeat iasWork := pAdapterWork.GatewayList; while iasWork.Next <> nil do begin AItems.Add('Gateway: '+trim(iasWork.IpAddress.acString)); iasWork := iasWork.Next^; end; AItems.Add('Gateway: '+trim(iasWork.IpAddress.acString)); pAdapterWork := pAdapterWork.Next; until pAdapterWork = nil; end; finally FreeMem(pAdapterList,dwLen); end; end; end; Danke Ati |
Re: Gateway IP über API auslesen TeilII
So funktioniert es bei mir - allerdings bei abweichender Umsetzung der Strukuren aus IPHLPAPI:
Delphi-Quellcode:
Grüße vom marabu
var
s: String; ... repeat iasWork := pAdapterWork.GatewayList; while iasWork.Next <> nil do begin s := Trim(iasWork.IpAddress); // hier anpassen if s <> '' then AItems.Add('Gateway: ' + s); iasWork := iasWork.Next^; end; s := Trim(iasWork.IpAddress); // hier anpassen if s <> '' then AItems.Add('Gateway: ' + s); pAdapterWork := pAdapterWork.Next; until pAdapterWork = nil; ... |
Re: Gateway IP über API auslesen TeilII
Danke dir. Werde das morgen mal so ändern und so probieren. Melde mich dann wieder!!!!
Ati |
Re: Gateway IP über API auslesen TeilII
N´abend,
habe das jetzt gerade mal ausprobiert, es scheint aber nicht zu funktionieren. Werde das Montag nochmal in der Firma testen (habe mich gerade von zu Hause aus eingewählt), es erscheint aber immernoch mehrmals "Gateway:" ohne Eintrag. Ati |
Re: Gateway IP über API auslesen TeilII
Schau dir doch mal den Inhalt von iasWork.IpAddress an - setze einen break point und öffne den inspector - und schon weißt du Bescheid. Ich kann das nicht für dich machen, weil auf meiner Maschine der angepasste Code gar nicht zum Tragen kommt.
marabu |
Re: Gateway IP über API auslesen TeilII
Sorry Marabu hatte vergessen den zweiten Teil der Ausgabe entsprechend zu ändern. Funktioniert jetzt einwandfrei. Danke
Ati |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 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