I have a windows mobile 5 program (compact framework 3.5) that I need to be able to detect when the device is idle.
Right now I am just checking to see if the backlight is off. Like this:
[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;
}
}
I think this may be getting close, but I would like to know if the device is truly not being used.