Bildschirm deaktivieren, sobald der Computer gesperrt wird

Wie sinnvoll ist ein Bildschirm, wenn man den Computer gesperrt hat?

Über die Energieoptionen kann natürlich konfiguriert werden, wann der Bildschirm deaktiviert wird, aber wenn man eine kurze Zeitspanne aktiviert und man gerade einen Text (oder hoffentlich meinen Blog) durchliest, dann ist das eher störend, wenn plötzlich der Bildschirm ausgeht. Andere Möglichkeit wäre den Bildschirm einfach abzuschalten, aber das ist bei mehreren Bildschirmen (wie hat man früher eigentlich produktiv mit nur einem Bildschirm arbeiten gekonnt?) umständlich und man vergisst es gerne.

Eine andere Möglichkeit ist den Bildschirm automatisch zu deaktivieren, wenn man ihn gerade nicht benötigt. Das beste Beispiel ist wohl, wenn man kurz AFK ist und man seine Arbeitsstation sperrt. Heißt so viel wie: ich werde jetzt mal nichts am Computer machen!

Als Programmierer habe ich mir natürlich gleich mal überlegt ein kleines Programm zu schreiben, das mir das erledigen könnte… Hmm… Das Programm läuft im Hintergrund und klinkt sich in die Message Loop ein und wenn der Computer die Lock Message schickt den Computer sperren…
Halt! Stopp!

Seit Windows Vista gibt es eine viel einfachere Möglichkeit dies zu erledigen. Alles was man dazu benötigt ist der Aufgabenplaner (Task Scheduler) und ein kleines Utility namens NirCmd.

Fangen wir bei NirCmd an:

Es ist ein kleines aber feines Tool, welches bestimmte Windows-Befehle ausführt, welche normalerweise nur über ein User-Interface zugänglich sind. Einer dieser Befehle ist den Monitor auszuschalten.

Wenn jemand den Systembefehl kennt, welcher zum Deaktivieren des Monitors verwendet wird bitte mir mitteilen, ich habe ihn leider nicht gefunden.
Der Systembefehl hätte den Vorteil, dass kein Third-Party Tool verwendet werden muss.
Was mir an NirCmd jedoch gefällt: es kann eine Warteizeit gesetzt werden und erst danach wird das Kommando ausgeführt.

Bei mir sieht das Kommando folgendermaßen aus:

"c:\Program Files\nircmd\nircmd.exe" cmdwait 5000 monitor off

Der Aufgabenplaner von Windows ab Vista:

Seit Vista verfügt Windows über einen sehr mächtigen Aufgabenplaner. Es können “Trigger” definiert werden, wann eine Aufgabe abläuft. Ein einfacher Trigger wäre einmal täglich. Aber auch komplexere Trigger sind möglich. Und genau einer dieser komplexeren Trigger benötigen wir: “Bei Arbeitsstationssperre”.
Unter den Aktionen kann man dann einstellen, was gemacht werden soll: in unserem Fall soll das oben beschriebene Kommando ausgeführt werden.

Zusammenfassung:

  1. Aufgabenplaner starten
  2. Zur Aufgabenplanungsbibliothek wechseln (oder, was ich gerne Mache, in einen Unterordner, welchen ich für meine persönlichen Aufgaben extra erstellt habe)
  3. Aktionen à Neue Aufgabe erstellen…
  4. Unter Allgemein einen Namen eingeben
  5. Unter Trigger den Trigger auswählen “Bei Arbeitsstationssperre”
  6. Unter Aktionen den NirCmd Befehl eintragen
  7. Bei den Bedingungen können alle Checkboxen entfernt werden (ich hab zwar einen Stand-PC aber bei einem mobilen Computer ist es ja auch durchaus sinnvoll, dass der Befehl ausgeführt wird, wenn der Computer vom Stromnetz getrennt ist).
  8. Das Dialogfeld mit OK bestätigen.
  9. Den Computer sperren ([Win]+L) und sich von seiner Funktionsweise überzeugen! J

ACHTUNG!

Wie ich leider feststellen musste hat NirCmd – zumindest auf meinem Rechner – die Eigenart, sich ausgerechnet dann NICHT zu beenden, wenn man den Parameter “monitor off” übergibt.

Um diese Aufgabe dennoch öfters als einmal ausführen zu können (die Aufgabe wird im Aufgabenplaner immer als ausgeführt angezeigt) muss man etwas hacken:

  1. Bei den Einstellungen der Aufgabe einstellen, dass neue Instanzen parallel ausgeführt werden sollen
  2. Vor der Aktion NirCmd den Monitor abschalten zu lassen folgenden Befehl einfügen
    "C:\Program Files\nircmd\nircmd.exe" killprocess nircmd
    

    Dies löscht den vorherigen “Zombie”

Leider bleibt immer ein NirCmd-Prozess übrig, aber ich kann damit leben.

Eventuell kann man den Prozess einfach händisch beenden, oder man erstell eine weitere Aufgabe, welche beim Aufheben der Arbeitsstationssperre ausgeführt wird und dort wird der killprocess Befehl eingefügt.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: