Help making an exe (screensaver) to track public computer availability

So I'm trying to create tracking software for open seats in a public computer lab we run at work. I need a screensaver that executes a get request every 3 minutes. Ideally this would display nothing to the screen and automatically end anytime the machine becomes non-idle. Here is what I have so far:

So this mostly works but has a few drawbacks. One (and this is the dealbreaker right now) the exe doesn't seem to stop execution when I move the mouse. I have to manually click the X on the CLI window. It would also be preferred that no such CLI window was displayed anyway.

Also, as a side question, does windows stop the screensaver when it turns the monitor off?

Even better, is there a better way to do this entirely that I'm unaware of. Convey your wisdom, Hive Mind.

For the first question, need more details. What are these systems running? What is the back-end running? For example, on the easy but ghetto side, you could have the Scheduled Task trigger a batch script on idle that writes to a text file on a share on the server, and something on the server reads the text file.

Maybe a little background would be helpful. I should have included this earlier, probably.

What I'm trying to do is track when a computer is "available". I have set up a rails web app that has a checkin URL. This records the hostname from the request and records that machine as "available". The idea was that a script would run on idle and hit this URL every X minutes. If the machine fails to report in it is assumed to be "in use" and the app handles that logic.

So the goal really is just to report in (by executing a GET request on idle every 3 minutes). The screensaver idea was really just to have windows handle the idle detection and ending the program on user input. I actually have the screensaver working properly but it doesn't die when the mouse is moved. I've tried running it as a scheduled task on idle (with the option to kill it on becoming non idle) but this doesn't seem to work. It doesn't run and it doesn't kill when it should.

With as complicated as this all is getting I'm starting to think that creating a system tray widget to do checkins on idle might be a better solution.

The end goal is to release all the code for this into the public domain so that anyone who wants to could use this for tracking computer usage. As such I'm trying to be as system agnostic as possible. Currently we are on Windows 7 for our public PCs, though.

The background information helps. I was suggesting that the Scheduled Task as an alternative to the screensaver, that would trigger based on idle conditions, and the action of the Scheduled Task would be to run a simple script that notifies the server. In order to run on as wide a range of computers as possible, writing something in vbs (a quick Google result that might start you in the right direction: http://stackoverflow.com/questions/204759/http-get-in-vbs) might make sense.

Unrelated to your question, but related to public/lab computers: how do you destroy the user state once a person is done with a computer? Do they log off? Is logon required for these computers? If logon is required, I've always liked the "force logoff after x minutes idle", and base your computer availability trigger on a logon script and a logoff script.

The background information helps. I was suggesting that the Scheduled Task as an alternative to the screensaver, that would trigger based on idle conditions, and the action of the Scheduled Task would be to run a simple script that notifies the server. In order to run on as wide a range of computers as possible, writing something in vbs (a quick Google result that might start you in the right direction: http://stackoverflow.com/questions/204759/http-get-in-vbs) might make sense.

Unrelated to your question, but related to public/lab computers: how do you destroy the user state once a person is done with a computer? Do they log off? Is logon required for these computers? If logon is required, I've always liked the "force logoff after x minutes idle", and base your computer availability trigger on a logon script and a logoff script.

The long term goal is to use log-on/log-off but at present all patrons use a general user and authentication is handled through a network portal. As such I can't really use a log-on/log-off script to handle this. That would make things far simpler for sure.

I've kind of switched directions and I'm half-way through writing a C# system tray executable that simply detects mouse/keyboard usage and sends a get request accordingly.