He utilizado el código mencionado here para calcular el tiempo de inactividad del sistema a través de un servicio de ventana. Pero en Windows 7 & Vista siempre obtengo el LastInputInfo.dwTime
como cero por el cual no puedo calcular el tiempo de inactividad del sistema. He dado el ejemplo de código a continuación.Valor inactivo del sistema no se puede calcular en Windows 7 utilizando el servicio de ventana en C#
// If we have a value from the function
if (GetLastInputInfo(ref LastInputInfo))
{
// Get the number of ticks at the point when the last activity was seen
LastInputTicks = (int)LastInputInfo.dwTime;
// Number of idle ticks = system uptime ticks - number of ticks at last input
IdleTicks = systemUptime - LastInputTicks;
}
Cuando la prueba el mismo código en una aplicación de Windows tengo la correcta dwTime
. Necesito tener el dwTime
correcto en mi servicio para calcular el tiempo de inactividad correcto del sistema.
Por favor, ayuda con algunos ejemplos
¿Hay alguna manera de evitar este servicio que se ejecuta .. decisiones en la sesión de usuario – deepu
Bueno, se puede crear eventual aplicación de Windows estándar (que se iniciará cuando se inicia Windows) que enviará al tiempo de inactividad su servicio a través de algún mecanismo de IPC (comunicación entre procesos). – HABJAN
O maby puede ayudarse a sí mismo con el tiempo de inactividad de la CPU (si lo necesita). Consulte este artículo: http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/c39b416c-e959-41e2-a57e-c02f7b22cc1d – HABJAN