Detectar o tempo da última interação do usuário com o sistema operacional

Estou escrevendo um aplicativo de bandeja pequena que precisa detectar a última vez que um usuário interagiu com sua máquina para determinar se está ocioso.

Existe alguma maneira de recuperar a hora em que um usuário moveu o mouse pela última vez, pressionou uma tecla ou interagiu de alguma forma com a máquina?

Eu acho que o Windows obviamente rastreia isso para determinar quando exibir um protetor de tela ou desligar, etc, então eu estou supondo que há uma API do Windows para recuperar isso sozinho?

questionAnswers(3)

yourAnswerToTheQuestion