El código de Eduardo para hacer ping es muy interesante para saber hacer ping, pero desde su propio código se llama a GetHostByName(), que ya implica que hay internet (salgo que tomase el resultado de un DNS en cache, no se si esto se pueda dar). Lo que quiero decir es que si funciona GetHostByName(...