Seite 1 von 1

Prüfen ob Windows-Nutzer noch aktiv ist

Verfasst: Samstag 10. Januar 2026, 21:23
von HFlor
Hallo,

ich finde i.M. keinen Weg zu prüfen ob ein Nutzer noch aktiv angemeldet ist. Wenn es auf dem Rechner z.B. 3 Benutzer gibt, meldet sich Nutzer1 an und das Script läuft als Nutzer1 los (per Task). Nun meldet sich Nutzer2 an und Nutzer1 ist im Hintergrund.

Diesen Moment möchte ich im Script, welches als Nutzer1 läuft erkennen, damit es Pause macht.

Bei screeninfo ändert sich zwar die Abmessung der aktiven Bildschirme, aber die Rückkehr funktioniert nicht zuverlässig.

Kennt jemand einen anderen Weg?

Hardy

Re: Prüfen ob Windows-Nutzer noch aktiv ist

Verfasst: Sonntag 11. Januar 2026, 09:53
von noisefloor
Hallo,

auf der Windows Kommandozeile geht das mit `query session`:

Code: Alles auswählen

> query session
 SITZUNGSNAME      BENUTZERNAME    ID   STATUS    TYP   GERÄT
 services                                                         0    Getr.
>console                     nutzer1                      1    Aktiv
                                     nutzer2                      2    Getr
 
In der Statusspalte siehst du, welche Session gerade aktiv ist.

Mit

Code: Alles auswählen

>>> import os
>>> os.environ.get('Username')
nutzer1
bekommst du den Benutzernamen der aktiven Pythonumgebung. Wie sich das in im Hintergrund laufenden Skripten verhält weiß ich nicht.

Gruß, noisefloor

Re: Prüfen ob Windows-Nutzer noch aktiv ist

Verfasst: Montag 12. Januar 2026, 17:15
von HFlor
Vielen Dank für den Tip.


Ich habe doch noch eine Lösung gefunden:

win32gui.GetForegroundWindow

gibt immer 0 zurück, wenn die Sitzung inaktiv ist.