Hi,
bisher habe ich nur trace gebraucht und das geht mit
Zitat:
procedure TraceCallback(hop,
ip: dword; rtt: integer); stdcall;
var s :string;
begin
if rtt = -1 then s := '*' else s := inttostr(rtt);
if s = '*'
then form1.memo1.lines.add('#'+inttostr(hop) + ' * -- ' + inet_ntoa(in_addr(
ip)))
else form1.memo1.lines.add('#'+inttostr(hop) + ': ' + s + 'ms -- ' + inet_ntoa(in_addr(
ip)));
application.processmessages;
end;
tracert(dnsnametoip(param),TraceCallback,30);
Ping ist noch einfacher, da musst du nur die einzelnen Bytes der
IP in ein DWORD packen.
Delphi-Quellcode:
procedure TForm1.irgendwas(Sender :TObject);
var
ip: DWORD;
var b:
Array[0..3]
of Byte
absolute ip;
ping : Boolean;
begin
b[3] := 192; b[2] := 168; b[1] := 0; b[0] := 1;
ping := ICMPPing(
ip);
end;