Eine ähnliche Frage wurde in einem anderen Thread gestellt:
Klick mich
Meine Antwort dort könnte Dir auch weiterhelfen. Mit der Methode DSiExecuteAndCapture könntest Du die CMD.exe von Windows starten und den entsprechenden Befehl (ping) absetzen und die Rückmeldung des Pings z.B. in einem Memo anzeigen lassen (oder wo auch immer).
Hier eine Beispielsimplementierung (ungetestet, hab kein Delphi da):
Delphi-Quellcode:
function ExecuteOnCommandLine(
const ACommand: string; // z.B. ping www.google.de
const AOutput: TStrings; // hier wird der Konsolenoutput reingeschrieben (z.B. das Ping-Ergebniss)
const AWorkingDirectory: string; // sofern notwendig
var AExitCode: longword; // hier wird der ExitCode reingeschrieben zur weiteren Verarbeitung durch Dich
const AWaitTimeInSeconds: integer;
AOnNewLine: TDSiOnNewLineCallback): Boolean;
var
LSuccess: boolean;
LCmdBaseCommand: String;
begin
LCmdBaseCommand := 'cmd.exe /c ';
LSuccess := DSiExecuteAndCapture(LCmdBaseCommand + ACommand, AOutput, AWorkingDirectory, AExitCode, AWaitTimeInSeconds, AOnNewLine) <> 0;
Result := LSuccess;
end;