2010-10-18 12 views
6

Si comienzo una aplicación Java, inicia y hace algo de trabajo, luego pasa al hilo durante una hora, luego se activa después de una hora y hace algo más de trabajo ...¿Se ejecutaría una aplicación Java programada cuando Windows esté en modo de suspensión?

Pero mi PC ejecuta Win7 y luego 15 minutos de inactividad, entrará en modo de suspensión, por lo que mi pregunta es: una hora desde que inicié la aplicación de Java, si no toco la PC, y entra en modo de suspensión, mi aplicación Java aún podrá Despertar y hacer su trabajo, y si es así, la PC Win7 se activará con la pantalla encendida de nuevo [porque en el modo de suspensión Win7, la pantalla se apaga]?

+0

Sinceramente dudo que su computadora pueda salir del modo de reposo sin alguna señal de hardware (por ejemplo, un teclado o IRQ wake-on-LAN). El software no puede hacer esto: en modo de suspensión, su procesador no ejecuta ningún código, ni siquiera el código de su sistema operativo. –

+0

Creo que he visto que Windows Media Center puede reactivar la computadora para grabar un programa. Debe ser una cosa de tiempo de placa base. –

Respuesta

3

¿Cómo podría funcionar si Windows no es así? Puede haber algunos trucos disponibles con despertadores automáticos admitidos por la placa base, pero cuando la máquina está en modo de suspensión, desde el punto de vista del sistema operativo y los programas, también podría estar apagado.

EDITAR: tome nota de las otras respuestas que indican soluciones alternativas con algunas API y herramientas de Windows (que presumiblemente funcionan con la placa base para proporcionar activaciones temporizadas).

0

Si su máquina está dormida, todo está suspendido. Incluyendo cualquier aplicación personalizada que desee ejecutar.

7

Un Thread.sleep() normal no activará la computadora desde el modo de suspensión.

Sin embargo, al registrar una tarea con el planificador de tareas de Windows, puede elegir "activar la computadora para ejecutar esta tarea". Al pasar al modo de suspensión, Windows le indicará a la placa base la hora de la siguiente tarea de activación registrada.

+0

+1 ¡Muy interesante! ¡No sabía de eso! –

2

Sé que el componente de cliente de WHS permite que su PC se active para realizar una copia de seguridad del lado del cliente. De hecho, puede especificar la opción de despertar a la PC de la suspensión para realizar la copia de seguridad que se controla a través del WHS real. Cómo logran esta tarea no es a través de Java y estoy seguro de que tienen diversos ganchos en el sistema operativo, ya que en el modo de Suspensión todavía se está suministrando energía. Aquí hay un article que habla de detectar el paso al modo de espera y prevenirlo, dentro de Java/C++ y puede mantener el valor de lo que está tratando de lograr de una manera diferente. Además, puede usar WOL para reactivar la PC de forma remota.

Cuestiones relacionadas