Détermination par programme du temps de verrouillage du poste de travail Windows
Savoir depuis combien de temps un poste de travail Windows a été verrouillé est précieux dans diverses applications. Cet article présente plusieurs approches de codage pour y parvenir.
Méthode 1 : C# et l'SessionSwitch
Événement
Une méthode très efficace utilise le gestionnaire d'événements SessionSwitch
de C#. Cet événement se déclenche lorsque l'état de la session du poste de travail change (verrouillage, déverrouillage, etc.). En suivant ces événements, vous pouvez mesurer précisément les durées de verrouillage :
<code class="language-csharp">Microsoft.Win32.SystemEvents.SessionSwitch += new Microsoft.Win32.SessionSwitchEventHandler(SystemEvents_SessionSwitch); void SystemEvents_SessionSwitch(object sender, Microsoft.Win32.SessionSwitchEventArgs e) { if (e.Reason == SessionSwitchReason.SessionLock) { // Record the lock start time. } else if (e.Reason == SessionSwitchReason.SessionUnlock) { // Calculate and record the lock duration. } }</code>
Méthode 2 : Service Windows (recommandé)
Pour une solution autonome et fiable, un service Windows offre des avantages. Le service peut vérifier régulièrement l'état du verrouillage et tenir un journal des durées de verrouillage. Notez que cela nécessite une installation et un démarrage manuels du service.
Lectures complémentaires :
SessionSwitchEventHandler
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!