UserIdleStarter is a command line tool which can launch the program of your choice when the system is idle.
(You can do this via Task Scheduler, of course. And if this is something you want to do all the time, on your own system, that's the best way to do. But if you only want this feature very occasionally, or you'd like it available while you're working on someone else's PC, then UserIdleStarter may be a better choice.)
An example command might look like this.
UserIdleStarter.exe hide 60 idle "c:\windows\system32\calc.exe"
Launch this from a batch file, and it runs UserIdleStarter; hides the console window; waits for 60 seconds when the user is idle, then launches Windows Calc (you need to specify the full path of whatever you want to run).
Change the timeout to suit your needs. You can also change the "idle" command to "lock" (launch a program after the desktop has been locked) or "disconnect" (wait until a Terminal/ Citrix session has been disconnected).
A useful scripting tool which gives a little more control over when and how your applications are launched.