In a quick experiment on Windows XP, PING.EXE returns an error code of 1 if the host did not respond. If the host responded, PING.EXE returns 0. That's one quick and dirty way to do the work. Of course, if there's security issues or you are running as a Win32 Service, you may not be able to start programs from your application so you'll have to handle that situation yourself. As I said at first, I still think you'd be much better off doing the work to code up the ping operation yourself.
This was first published in January 2004