AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Standby im Service erfassen

Ein Thema von r29d43 · begonnen am 14. Jul 2010 · letzter Beitrag vom 11. Feb 2016
Antwort Antwort
r29d43

Registriert seit: 18. Jan 2007
276 Beiträge
 
Delphi 10.4 Sydney
 
#1

Standby im Service erfassen

  Alt 14. Jul 2010, 12:10
Hallo,

gibt es in einem Service irgendeine Möglichkeit, den Anfang und das Ende eines Standby-Zustandes festzustellen?

Hintergrund: In so einem Service protokolliere ich bis dato schon das LogOn und LogOff der einzelnen User mit. (Das mache ich mit einer eigenen WinProc, die ich per AllocateHWnd erstelle und per WTSRegisterSessionNotification am System anmelde, zum Empfang der WTS-Messages). Nur jetzt möchte ich aber am liebsten mit diesem gleichen Service auch noch die Standby-An-u.-Aus-Zeiten miterfassen können.

Ich weiß, WMassages werden ansonsten nicht mehr an einen Service verschickt. Ein diesbezüglicher Versuch, da mal mittels dieser WTS-WindProc eine WM_POWERBROADCAST-Message zu empfangen, ging dann ja auch leider schief..


Also: Gibt es sonst noch irgendwelche theoretischen Möglichkeiten das in einem Service hinzukriegen?
(...halt was ohne dafür immer eine kleine extraApp zu diesem Zwecke mitlaufen lassen zu müssen) ?


Thx im Voraus!
rXdY
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
276 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Standby im Service erfassen

  Alt 14. Jul 2010, 15:01
Hallo nochmal,

also: Diese WM_POWERBROADCAST-Messages kommen DOCH im Service an!!!!!

Mir war vorher nur ein kleiner Fehler beim Ergebnis-Output unterlaufen.

Nach der Korrektur sah es im Textfile, in dem der Service seine Aktivitäten auch nochmal zusätzlich protokolliert, so aus:

14:07:2010 15:49:42 es ist eine WM_PowerBroadcast-Message PBT_APMSUSPEND im Service angekommen! <-- beim Standby-Beginn
14:07:2010 15:50:17 es ist eine WM_PowerBroadcast-Message PBT_APMRESUMEAUTOMATIC im Service angekommen! <-- beim Standby-Ende
14:07:2010 15:50:17 es ist eine WM_PowerBroadcast-Message PBT_APMRESUMESUSPEND im Service angekommen! <-- beim Standby-Ende

MfG,
rXdY

PS. Das bezog sich auf Win7. Muss jetzt erstmal testen, ob sich das bei den anderen OSs (bis runter zum W2k) genauso verhält...
  Mit Zitat antworten Zitat
nytaiceman

Registriert seit: 15. Dez 2005
Ort: Schweiz, Bern
57 Beiträge
 
Delphi XE3 Professional
 
#3

AW: Standby im Service erfassen

  Alt 11. Feb 2016, 13:34
Hallo zusammen,

Der Fred ist zwar schon etwas älter aber ich habe ebenfalls ein Problem mit einem Dienst welcher nach einem Standby zwar weiterläuft aber der beim OnStart gestartete Thread erholt sich nicht mehr.

Es wäre gut wenn ich den Beginn von Standby erkennen könnte um den Thread zu suspenden und danach wieder mit Resume zu starten.
--> Alternativ könnte ich den Thread auch neu erstellen wenn Windows aus dem Standby erwacht.

Mein Problem ist nun, dass der Dienst nicht merkt wenn Windows wieder aus dem Standby erwacht.

Ich empfange keinerlei PowerMessages im Dienst.

Umgebung:
Delphi XE3
Windows 10 x64

Danke für einen kräftigen Schubser in die richtige Richtung.
Einfach ist nur einfach, wenn Einfach auch einfach ist!
Vermeintlich einfache Workarounds führen irgendwann zu Problemen!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf