2012-07-24 3 views
3

Je sais que je peux obtenir le temps écoulé depuis le dernier démarrage en utilisant Environment.TickCount
Mais est-il possible d'obtenir la dernière fois compute réveillé de son hibernation ou de sommeil?Obtenez la dernière heure de réveil de l'ordinateur

(sans utiliser WMI s'il vous plaît)

Répondre

7

Essayez cette commande - utiliser Process pour le feu off - vous aurez besoin pour analyser le résultat

cmd/k wevtutil qe système /q: "* Système [[Provider [@ Name = » Microsoft Windows-Power-Troubleshooter ']]] » /e: true/c: 1/f: texte

Tiré de here si vous voulez plus d'info ...

+0

C'est génial! – sternr

+0

Hey, existe-t-il une version qui fonctionne pour Windows 10? Cela fonctionne sur Win7 mais l'événement 'Microsoft-Windows-Power-Troubleshooter' ne semble pas être diffusé, au moins sur mon Win10 v.1709. – c00000fd

+0

Oops, mon mauvais. J'ai essayé dans la machine virtuelle (VMWare Workstation.) Il a cessé de signaler cet événement pour une raison quelconque. Mais cela fonctionne dans un vrai matériel bien. – c00000fd

0

Selon this page, vous aurez à écouter PBT_APMRESUMEAUTOMATIC (et PBT_APMRESUMESUSPEND si vous voulez savoir si un utilisateur a été la « cause » pour le réveil).

Je pense que Microsoft.Win32.SystemEvents (PowerModeChanged event) est l'endroit à regarder mais, sans enquêter plus loin, il pourrait y avoir some issues.

This page peut être intéressant pour vous aider à démarrer.

+0

Je ne veux pas pour permettre à mon application de savoir si maintenant c'est un événement de réveil, je veux être capable de savoir * quand * était le dernier événement de réveil – sternr

Questions connexes