2009-09-28 8 views
5

me gustaría ser capaz de determinar, mediante programación, por las que un sistema de Vista salió de espera (S3). Cualquier idioma está bien, aunque uno de .NET sería lo mejor. Estoy buscando poner este código en una aplicación en la que estoy trabajando.¿Cómo puedo determinar por qué la máquina salió de suspender?

Busco razones como "Centro de prensa quería grabar un programa," "la entrada del usuario despertó la máquina", "actualización de las ventanas está programado para ejecutarse," cosas por el estilo. Busqué en Google, Bing y MSDN, pero solo pude encontrar cosas relevantes para Windows Mobile.

¿Puede alguien me punto a una función o un objeto que puede proporcionar esta información?

+0

así, que desea Incrustar esto en un programa que está escribiendo, o simplemente desea una utilidad que le dará esta información? – Argalatyr

+0

dudo que será capaz de obtener información lo más específico que desea. Sin embargo, es posible que pueda obtener el nombre del módulo que provocó la suspensión del registro del sistema. –

Respuesta

1

una ventana de nivel superior recibe un mensaje WM_POWERBROADCAST al despertar, pero sólo se puede decir si era automático (Centro de prensa, actualización de las ventanas, etc.) o el usuario (botón de encendido Al pulsar etc)

+0

que podrían ser lo suficientemente bueno. si algo sale en el registro del sistema, lo cual probablemente ocurra, entonces creo que puedo hackear algo juntos. –

Cuestiones relacionadas