Pregunta

¿Hay alguna "Boot ID de sesión" o (fiable) "marca de tiempo de arranque"? Para una instalación que necesito para detectar que un reinicio programado se llevó a cabo efectivamente.

Creo que podría hacer un maniquí con MoveFileEx() MOVEFILE_DELAY_UNTIL_REBOOT, pero lo hice esperanza de algo más fácil.

(Tenemos que instalar un paquete de 3 ª parte que a veces se comporta de forma errática después de una reparación / actualización. En ese estado, el acceso al dispositivo puede incluso bloquear el sistema)

(Windows XP, Vista, 7)

¿Fue útil?

Solución

Al parecer, Windows tiene el equivalente de "tiempo de actividad". Aquí hay más información: http://support.microsoft.com/kb/555737

A mi entender, esto debe decirle cuánto tiempo hace que se arranca el sistema. Será que la información de resolver su problema?

Otros consejos

Por cosas como esta, WMI (Windows Management Instrumentation) es a menudo un buen punto de partida. Sé que puede obtener el tiempo de actividad actual directamente a través de él, lo que puede permitir que usted pueda determinar si una máquina recientemente reiniciado.

Aquí es un blog con algunos ejemplos de código, así: http://blogs.technet.com/heyscriptingguy/archive/2004/09/07/how-can-i-tell-if-a-server-has-rebooted.aspx

En función de su lenguaje de implementación, es probable que sólo desea sacar el código de consulta desde el VBScript.

Se puede buscar en el registro de sucesos del sistema para el evento de 6009 de la fuente EventLog -. Este es el primer evento registrado después de cada reinicio

Creo que la mejor respuesta ya se ha dado aquí: Para saber si el equipo se reinicia desde la última vez que mi programa se ha ejecutado?

Esa parece ser la forma más sencilla. Utilice GlobalFindAtom() para ver si existe y crearlo, con GlobalAddAtom(), si no lo hace. Persistirá más allá de la ejecución de su programa. Si la aplicación se ejecuta de nuevo, y ve que existe el átomo, a continuación, entonces no es la primera ejecución desde el reinicio.

Si se reinicia el equipo, entonces no existirá el átomo, lo que indica que esta es la primera ejecución de su programa desde el reinicio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top