The best you can probably hope for without installing any user software on the target machine should be to use the Ping class.
A quick and dirty implementation might look like this:
var p = new Ping(); if(p.Send("HostNameOrIP").Status != Success) return;
If you have very specific requirements about what an “active and open” computer is, and the status can only be detected locally, you will need to write a Windows service that will provide the WCF service. This service will be running on the target computer and will report local status at the request of the source computer.
source share