Verifique si un dispositivo móvil de Windows está inactivo

Tengo un programa de Windows Mobile 5 (Compact Framework 3.5) que necesito poder detectar cuando el dispositivo está inactivo.

En este momento solo estoy verificando si la luz de fondo está apagada. Me gusta esto:

[DllImport("coredll.dll", EntryPoint = "sleep", SetLastError = true)]
internal static extern void sleep(int dwMilliseconds);

....

//Get the current power state of the system
int winError = CoreDLL.GetSystemPowerState(systemStateName, out systemPowerStates);
if (winError == 0)
{
    //If the backlight is off, consider the state to be idle.
    if (systemStateName.ToString() == "backlightoff")
    {
        idle = true;
    }
}

Creo que esto se está acercando, pero me gustaría saber si el dispositivo realmente no se está utilizando.

Respuestas a la pregunta(1)

Su respuesta a la pregunta