J'ai une application C# pour trouver les "commencer à travailler" et "finir de travailler" des événements pour un utilisateur. Le but est d'obtenir une liste avec des valeurs de date/heure, quand un PC était "up" et quand il est "down" à nouveau.Où puis-je trouver des informations sur Windows était en mode veille
Cela fonctionne pour la connexion/déconnexion et l'hibernation, mais pas pour le mode veille (save energy
). Recherche avec eventvwr
Je n'ai pas trouvé les événements corrects connectés à "entrer en veille" et "se réveiller à partir du mode veille".
Avec cela, je lis des fenêtres journaux d'événements:
public SortedDictionary<string, UserProfileEvent> ReadUserProfileEvents() {
string queryString = string.Format("*[System[TimeCreated[@SystemTime>='{0}' and @SystemTime<='{1}']]]", this.StartDate.ToString("s"), this.EndDate.ToString("s"));
var q = new EventLogQuery("Microsoft-Windows-User Profile Service/Operational", PathType.LogName, queryString);
var r = new EventLogReader(q);
var liste = new SortedDictionary<string, UserProfileEvent>();
EventRecord e = r.ReadEvent();
UserProfileEvent upe = null;
while (e != null) {
upe = new UserProfileEvent(e);
try {
liste.Add(upe.SortKey, upe);
}
catch (Exception exp) {
throw new Exception("Some error text", exp);
}
e = r.ReadEvent();
}
return liste;
}
Toutes les idées où trouver les événements corrects?
EDIT: Je viens de trouver "Microsoft-Windows-Power-Troubleshooter" et "Microsoft-Windows-Kernel-Power". Ces protocoles semblent pointer dans les bonnes directions ...
Mais je ne veux pas réagir sur un événement, je veux obtenir une liste de "commencer à être actif" et "finir d'être actif" pendant plusieurs semaines dans le passé. – Shnugo