Just for variety... here's a little hardware circuit I created to allow me to remote-control a PC via ethernet network. I know there is alot of software out there to give remote control access and I've used most of them, even wrote some, but for this job I needed control over the PC during POST (when BIOS is first booting the system before Windows takes over). All the software out there requires Windows to be running first, before you get control over it.
So, this simple circuit is basically an ethernet module that has digital input and output, analog output, and a serial port on it I can talk to and control. It is based on the "ezWebLynx" module (http://www.ezweblynx.com/) Really easy to use. I created a keyboard controller using a PIC12F683 microcontroller and connected the PIC to share the serial port with the PC. I can talk to the PIC, tell it what keyboard keys to send to the PC, and listen for the PC response over the serial port. Most people aren't aware that their PC's BIOS code is pumping out alot of useful information during POST. After the PC has booted into Windows I then use VNC and my own software "Puppetmaster" to control applications on the PC.
This circuit is basic - just the PIC for keyboard output to the PC, and a MAX233 chip to transceive all serial port traffic between the ethernet and the PC. A couple of headers on the board allow me to reprogram the PIC as needed, and access the IO pins on the module. I've tied
3 IO pins to the front-panel header of the PC - the power switch, the reset switch, and Vcc pin to detect when the PC is powered on. Ultimate control for less than $60 (including PCB).
Later on I'll post the application I wrote to talk to and control the circuit from a remote PC. It uses UDP packets instead of TCP.