Código Delphi
[-]uses WinSock;
function IcmpCreateFile : THandle; stdcall; external 'icmp.dll';
function IcmpSendEcho(Handle, DestinationAddress: Cardinal; RequestData: Pointer; RequestSize: Cardinal; RequestOptions: Pointer; ReplyBuffer: Pointer; ReplySize, Timeout: Cardinal): Cardinal; stdcall; external 'icmp.dll';
procedure TForm1.Button1Click(Sender: TObject);
var
Handle: Integer;
Buffer: array [0..7] of Cardinal;
begin
Handle := IcmpCreateFile;
if Handle = -1 then Exit; if not LongBool(IcmpSendEcho(Handle, inet_addr('192.168.0.1'), nil, 0, nil, @Buffer, SizeOf(Buffer), 1000)) then
MessageBox(0, 'No se pudo hacer ping', nil, MB_ICONERROR);
CloseHandle(Handle);
end;
Tambien se puede hacer con con componentes (por ejemplo; Indy), para ejemplos al respecto haz una
busqueda.
Saludos