[Release] Battery Event (Einträge in der Ereignisanzeige - Netz- oder Akkubetrieb)

Ede_123

New member
Themenstarter
Registriert
28 Okt. 2008
Beiträge
1.237
Hallo zusammen,

hier zunächst mal exklusiv fürs ThinkPad-Forum meine neue Anwendung "Battery Event".

Das Programm erzeugt in der Ereignisanzeige neue Einträge, welche den aktuellen Energiestatus angeben, das heißt ob das System sich gerade im Netzbetrieb oder im Akkubetrieb befindet. Auf diese Ereignisse kann dann (z.B. per Aufgabenplanung) entsprechend reagiert werden, um zum Beispiel Stromfresser zu beenden, sobald man das ThinkPad aussteckt.

"Battery Event" lässt sich auf zwei Arten betreiben:


  • Als Windows Dienst:
    In diesem Fall läuft das Programm ständig im Hintergrund (ohne Ressourcen zu verschwenden) und erzeugt ein Ereignis sobald sich der Energiestatus ändert, d.h. der Netzstecker gezogen oder angeschlossen wird. Zusätzlich wird direkt beim Systemstart erstmals ein Ereignis erzeugt, so dass man schon vor dem Windowslogin entsprechend reagieren kann.

    Zum Betrieb als Service wird das Programm mit "Battery Event.exe" -install als Dienst registriert.
    Der Dienst kann mit "Battery Event.exe" -uninstall wieder deinstalliert werden.
    Diese Beiden Kommandos müssen mit Administratorrechten ausgeführt werden!
  • Als einfache Anwendung:
    In diesem Fall wird das Programm ausgeführt wie jedes andere. Es erzeugt ein Ereignis mit dem aktuellen Energiestatus und beendet sich sofort wieder. Das kann z.B. bei der Erstellung von Skripts nützlich sein, die je nach Energiestatus andere Aktionen ausführen können, oder aber wenn man sich scheut einen Hintergrunddienst zu installieren.

    Zu beachten ist, dass ihr auch hier die Anwendung einmalig mit Administratorrechten ausführen müsst, da das Programm erst als Quelle für Ereignisse in der Ereignisanzeige registriert werden muss. Danach sind jedoch keine Administratorrechte mehr nötig.


Die Ereignisse auf die ihr regieren könnt befinden sich im Anwendungs-Log. Sie stammen von der Quelle BatEvent und haben die Ereignis-IDs 1000 (Akkubetrieb) und 1001 (Netzbetrieb).



Im Anhang findet ihr das Komplettpaket mit der "Battery Event.exe" und dem Quelltext.
Das Programm benötigt zusätzlich die Microsoft Visual C++ 2010 Runtime (genauer nur die die msvcr10.dll, welche leider mit 755 KB wohl schon zu groß ist um sie hier im Forum hochzuladen). Wenn ihr diese noch nicht installiert habt und nicht das komplette Paket installieren wollt genügt es die msvcr10.dll, welche ich euch hier hochgeladen habe, in den Ordner der Anwendung zu kopieren.

Außerdem habe ich als Beispiel zwei Aufgaben (die .xml Dateien) beigefügt. Diese könnt ihr in der Aufgabenplanung importieren. Sie beenden bei Akkubetrieb automatisch den "Desktop Window Manager" (kurz DWM, dwm.exe im Taskmanager) und starten ihn wieder wenn man das Netzkabel wieder ansteckt. Der DWM ist unter anderem für die Aero-Oberfläche verantwortlich und sehr CPU- sowie Speicherintensiv.



Ich hoffe ihr könnt mit dem Programm etwas anfangen. Lasst mich wissen was ihr davon denkt!

Grüße
Ede
 

Anhänge

Zuletzt bearbeitet:
Hallo,

auch wenn der Beitrag schon etwas älter ist, von mir trotzdem ein fettes Dankeschön für das Programm.
Ich verwende es allerdings nicht auf einem Laptop, sondern um die an meinen Server daheim angeschlossene USV zu überwachen. Mit den Events löse ich Einträge in eine Log-Datei aus. Somit kann ich von unterwegs aus überwachen, ob daheim Stromausfall herrscht.

Gruß Thomas
 
Hi Thomas, dir ein fettes Dankeschön für die Rückmeldung - insbesondere da du dich sogar extra dafür hier angemeldet hast. Es ist immer nett wenn man weiß, dass auch jemand anders was von der investierten Zeit hat und man nicht nur für sich selbst programmiert hat.

An die Verwendung auf einem PCS mit USV hatte ich noch gar nicht gedacht, interessanter Anwendungsfall!
 
Hi,

mittlerweile ist der Beitrag noch "etwas" älter aber das Tool ist genau was ich gesucht habe :)
Unter Windows 10 22H2 funktioniert alles wie beschrieben.
Ich musste allerdings Microsoft Visual C++ 2010 Redistributable Package (x86), auf einem 64bit Windows, installieren um an die Datei "MSVCR100.dll" zu kommen.
Zwecks Test habe ich das in einer VM gemacht und mir die Datei dann dort rauskopiert.

1000 Dank :)
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben