Einzelnen Beitrag anzeigen

DarkItachi

Registriert seit: 28. Dez 2009
Ort: Berlin
130 Beiträge
 
Delphi 2007 Enterprise
 
#1

WAN IP via Winsock-API und dann Flaggen zuweisen

  Alt 10. Jan 2010, 23:47
Hallöchen!

Ich (ver)suche schon wieder mal seit Stunden einen Code und finde keinen -.-
Ich will die Wan IP mittels WinSock-API (!) ermitteln!
Ich will dazu keine extra Komponente benutzen und auch nicht auf eine Website zugreifen!

Ich finde immer diesen Code:
Delphi-Quellcode:
Function GetIPAddress():String;
type
  pu_long = ^u_long;
var
  varTWSAData : TWSAData;
  varPHostEnt : PHostEnt;
  varTInAddr : TInAddr;
  namebuf : Array[0..255] of char;
begin
  If WSAStartup($101,varTWSAData) <> 0 Then
  Result := 'No. IP Address'
  Else Begin
    gethostname(@namebuf[0],length(namebuf));
    varPHostEnt := gethostbyname(@namebuf[0]);
    varTInAddr.S_addr := u_long(pu_long(varPHostEnt^.h_addr_list^)^);
    Result := 'IP Address: '+inet_ntoa(varTInAddr);
  End;
  WSACleanup;
end;
und dieser gibt mir immer nur meine LAN Ip. (Ich bin über W-lan verbunden!)
Aufjedenfall ist es wichtig, dass diese Funktion das schnell prüft... eigentlich so wie Ipconfig.

Hat jemand eine Idee?



Danke im vorhinein!
Hoffentlich ist jemand so erfahren und kann mein Problem lösen.. Oder mir einen Tip geben! ^^

MfG
Developer since age 14
  Mit Zitat antworten Zitat