Hallo,
Diese Unit habe ich mal irgendwo in den Weiten des Internets oder einem Delphiforum gefunden (Ich möchte mich ja nicht mit fremden Federn schmücken). Leider weiß ich nicht mehr von wem die Unit ist

Ich kann also nichts näheres dazu sagen. Funktioniert bei mir aber ganz gut, mit dem anzeigen der IP.
Du mußt dann folgendes aufrufen
Delphi-Quelltext
1:
| Label1.Caption := GetRASIP(1); |
damit erhältst die IP die Dein Provider dir beim einwählen gegeben hat.
Natürlich nicht vergessen Unit einzubinden
Unit siehe unten.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61:
| unit InternetIP;
interface
uses Windows;
type PRasConn = ^TRasConn; TRasConn = record dwSize: DWORD; hRasConn: THandle; szEntryName: array[0..256] of char; szDeviceType: array[0..16] of char; szDeviceName: array[0..128] of char; end;
TRasPPPIP = record dwsize: DWORD; dwerror: DWORD; szlpAddress: array[0..15] of char; end;
function RASGetProjectionInfo(hRasConn: THandle; RasProjection: DWORD; var lpRasPPPIP: TRasPPPIP; var lpcb: DWORD): DWORD; stdcall;
function RASEnumConnections(lpRasConn: Pointer; var lpcb: DWORD; var lpcConnections: DWORD): DWORD; stdcall;
function GetRASIP(Nr: Integer): String;
implementation
function RASEnumConnections; external 'RASAPI32.DLL' name 'RasEnumConnectionsA'; function RASGetProjectionInfo; external 'RASAPI32.DLL' name 'RasGetProjectionInfoA';
function GetRASIP(Nr: Integer): String; var RasCon:Array[1..25] of TRasConn; RASSize, RASFilledInBuffer, RASIPSize: DWord; RASPPIp:TRasPPPIP; IPPas:Array[1..16] of Char; begin Result:=''; Rascon[1].dwSize := SizeOf(TRasConn); RASSize := SizeOf(TRasConn); if RasEnumConnections(@RasCon,RASSize,RASFilledInBuffer)=0 then begin RASPPIp.dwsize:=SizeOf(TRASPPPIp); RASIPSize:=SizeOf(TRASPPPIp); RASGetProjectionInfo(RasCon[Nr].hRasConn,$8021,RASPPIp,RASIPSize); Result:=RASPPIp.szlpAddress; end; end;
end. |
Moderiert von
Tino: Code- durch Delphi-Tags ersetzt