Reliable way to run a task after specificed time without user input

3

1

For a Kiosk solution I'm looking for a completely reliable way to run a batch file on Windows 7 after a specified time without any user input (think screensaver). So far I've been looking at:

  • Windows Task Scheduler (fails because it does not as far as I've been able to figure out support this type of event - the idle event is a different beast altogether)
  • Screensaver operations (initially very promising but fails due to it showing a message before running the task (not acceptable in this use case) as well as not being completely reliable as far as my (non-exhaustive) tests have shown)

Any other ideas?

Millions

Posted 2011-12-13T15:54:14.143

Reputation: 41

1Maybe if you specify what it is you're trying to run, we may be able to come up with some good options. – Iszi – 2011-12-13T18:17:05.223

You tried the On Idle trigger in the Task Scheduler? It is a bit weird the way it works, but if your desired idle time is compatible with its weirdness it should be ok. – Paul – 2011-12-13T23:37:37.900

@lszi I'm running a batch file with a number of instructions - I need to run this batch file after a given idle duration. – Millions – 2011-12-14T00:11:27.470

@Paul Yes, my desired time is not compatible with how it works. I want it to run somewhere around 5 minutes after the last user input. – Millions – 2011-12-14T00:13:38.340

Answers

1

Screensaver Operations indeed did seem to function properly for my use case. The dialog could be turned off by simply setting the delay to 0 and the unreliability seems to come from some other part of my setup making the screensaver not trigger properly.

So I still would very much like a solution that is not based on the Windows screensaver timer as there are certain parts of my setup I can't do much about if it turns out they are the culprit here.

Millions

Posted 2011-12-13T15:54:14.143

Reputation: 41

-2

You could write a small Windows Service and run it with elevated privileges. The service can then call your batch file periodically. You can catch all exceptions, log all errors, etc and make it highly reliable.

kmxr

Posted 2011-12-13T15:54:14.143

Reputation: 101

1How is this done exactly? – Ramhound – 2016-09-29T23:34:18.077

Please read the question again carefully. Your answer does not answer the original question - "run after a specified time without any user input". User input here means the user hasn't done anything. – DavidPostill – 2016-09-30T09:13:15.977