Führen Sie beim Bildschirmschoner einen Batch / cmd aus

26

Gibt es eine Möglichkeit, eine .bat- oder .cmd-Datei auszuführen, wenn der Bildschirmschoner gestartet wird? Ich habe bemerkt, dass einige .exe ausgeführt werden können, wenn Sie sie in .scr umbenennen, aber ist es das?

laggingreflex
quelle
Dies ist keine direkte Antwort, aber ein Bildschirmschoner wird normalerweise nach N Leerlaufzeiten angezeigt. Sie könnten den Taskplaner verwenden, um die gleiche Zeitspanne zu warten und dann Ihr Programm zu starten?
Dave
Möglicherweise funktioniert das Erstellen einer Aufgabe im Taskplaner mit dem Auslöser "On Workstation Lock". Die Bedingungen von "Starten Sie die Aufgabe nur, wenn der Computer im Leerlauf ist" und "Stoppen, wenn der Computer nicht mehr im Leerlauf ist" geben Ihnen möglicherweise das, was Sie möchten.
Scott

Antworten:

23

1. Screen Launcher

Mit Screen Launcher können Sie ein beliebiges Programm auswählen, das als Bildschirmschoner ausgeführt werden soll. Sie können einen Powerpoint, einen Film, eine EXE-Datei oder eine zugehörige Datei starten. Zum Installieren einfach entpacken, mit der rechten Maustaste klicken und im Kontextmenü auf Installieren klicken. Sie können Screen Launcher dann wie jeden anderen Bildschirmschoner verwenden. Um Dateien wie Powerpoint-Präsentationen zu öffnen, müssen Sie das Powerpoint-Programm ausführen und den Pfad zu Ihrem PPT als Parameter eingeben. Ein Beispiel für die Anzeige eines Bildes wäre c: \ winnt \ system32 \ mspaint.exe c: \ picture.bmp. Laden Sie noch heute herunter, um alle Medien als Bildschirmschoner zu nutzen.

1

[ Alternativer Download-Link, da die offizielle Seite tot zu sein scheint. ]

2. RunSaver (nicht mit RunScreenSaver desselben Autors verwechseln).

Bildschirmschoner, der einen Befehl ausführt.

2

Ich bin mir sicher, dass es noch viele solche Bildschirmschoner gibt, mit denen Sie beliebige Programme / Skripte starten können. Aber was ist, wenn Sie Ihren aktuellen Bildschirmschoner weiterhin verwenden möchten? Wenn ja, siehe unten für die Lösung (getestet unter Win7, sollte unter Vista + gut funktionieren).


3. Verwenden Sie keine 3 rd Party - Tools

  1. Ereignis-ID 4802 entspricht Der Bildschirmschoner wurde aufgerufen , wird jedoch nicht standardmäßig protokolliert. Daher müssen wir zuerst die Protokollierung für dieses Ereignis aktivieren. Öffnen Sie den lokalen Gruppenrichtlinien-Editor (Start / Run / gpedit.msc) und navigieren Sie zu:

    Computer Configuration / Windows Settings / Security Settings / Advanced Audit Policy Configuration / System Audit Policies - Local Group Policy Object / Logon/Logoff / Audit Other Logon/Logoff Events

    und aktiviere die Checkboxen für Erfolg und Misserfolg :

    3

  2. Wenn Sie darauf warten, dass Ihr Bildschirmschoner gestartet wird, werden in der Ereignisanzeige jetzt Ereignisprotokolle angezeigt, die etwa wie folgt aussehen :

    4

  3. Jetzt ist es einfach zu bedienen Taskplaner eine Aufgabe zu erstellen , die gestartet werden, wenn Ereignis 4802 auftritt. Stellen Sie einfach sicher, dass die Registerkarte " Auslöser" im Dialogfeld " Eigenschaften " der Aufgabe wie folgt aussieht:

    5
    6

Karan
quelle
2
Sie verdienen eine Medaille
BDM
@ProfPickle: Danke für deine freundlichen Worte. :)
Karan
5

Um die nette Antwort von @Karan zu vervollständigen , möchte ich diejenigen, die daran interessiert sind, ein Programm nach dem Entlassen des Bildschirmschoners auszuführen, darauf hinweisen , dass der Prozess der gleiche ist, der auch für seine Lösung "3. Verwenden von Drittanbieter-Tools" verwendet wird, aber für Event ID sollte 4803 sein .

(In meinem Fall möchte ich beispielsweise Aero ( "net stop uxsms" ) deaktivieren, wenn der Bildschirmschoner gestartet wird, und es wieder aktivieren ( "net start uxsms" ), wenn der Bildschirmschoner gestoppt wird. )

Sopalajo de Arrierez
quelle
3

Wenn die Zeit nicht besonders kritisch ist, können Sie einfach den im Taskplaner integrierten Auslöser "Aufgabe starten: Im Leerlauf" verwenden.

Task Scheduler -> Create Task -> "Trigger" tab -> New -> "Begin the task:" -> "On Idle"

Gehen Sie als nächstes zur Registerkarte "Aktionen" und stellen Sie die Aktion auf das ein, was Sie ausführen möchten.

Dies sollte die Aktion ausführen, nachdem der Bildschirmschoner gestartet wurde (oder wenn das System ohne Bildschirmschoner inaktiv ist), es kann jedoch zu einer Verzögerung von 0-15 Minuten kommen. Hier sind die relevanten Details aus der Taskplaner-Dokumentation:

Der Taskplaner überprüft alle 15 Minuten, ob sich der Computer im Leerlauf befindet. Ein Computer befindet sich im Ruhezustand, wenn ein Bildschirmschoner ausgeführt wird. Wenn ein Bildschirmschoner nicht ausgeführt wird, wird davon ausgegangen, dass sich der Computer im Leerlauf befindet, wenn in den letzten fünfzehn Minuten 90% der CPU-Auslastung und 0% der Festplatteneingabe oder -ausgabe vorhanden sind und keine Tastatur- oder Mauseingabe erfolgt während dieser Zeit.

Ihr Bildschirmschoner wird gestartet, und 0-15 Minuten später sucht Windows nach Inaktivität und startet Ihr Programm.

Kerzenritter
quelle