如何检测程序何时空闲?

例如,程序在用户未使用5分钟时如何检测?