![]() |
Windows Re-Login/Hibernate/Screensaver Ende - welches Ereignis muss man überwachen?
Guten Morgen,
ich versuche herauszufinden auf welches Ereignis ich warten muss bzw falls es mehrere sind welche wären das? Ich möchte dieses Zeitpunkt erfassen: User meldet sich ab und wieder an, sobald/nachdem Dektop erscheint, das Ereignis benötige ich. System schläft und wird aufgeweckt, sobald/nachdem Dektop erscheint, das Ereignis benötige ich. System ist im Screensaver und man bewegt die Maus (oder tippt was), sobald/nachdem Dektop erscheint, das Ereignis benötige ich. (Falls ich was vergessen haben sollte, bitte Ergänzen, Danke!) Im Grunde braucht mein Programm nur drei Zustände kennen, System arbeitet, System pausiert und System ist zurück. Das letztere benötige ich. Was ich erreichen will ist folgendes, was mich auch schon längere Zeit nervt, man hat mehrere Fenster offen und schön positioniert, Multi-Monitor weit, nun schläft System ein oder Screensaver oder Aus- & Einloggen, sowie Desktop wieder erscheint, sind viele Fenster nicht mehr da wo sie waren und teilweise auch mit einer völlig anderen Größe. Was ich bereits habe ist eine ListView die mir den Status von jedem Fenster zeigt (Fenster Name, Fenster Position, Fenster Dimension, Fenster Status minimized/normal/maximized, Alpha Phase für TrayIcons ist in arbeit und das wichtigste auf welchem Monitor das Fenster plaziert ist) Was mir fehlt ist ein Ereignis wo ich diese gesammelten Daten an die Fenster zurückgebe so das alles ausschaut wie vor der System-Pause. Hat da jemand einen Vorschlag für mich? |
AW: Windows Re-Login/Hibernate/Screensaver Ende - welches Ereignis muss man überwache
Hmm..
Eine Möglichkeit würde Wtsapi32.dll mit RegisterSessionNotification sein. Ob es anders Windows-Messages gibt... Weiß nicht. Mit dieser ist es möglich Events zu bekommen u.A. für WTS_SESSION_LOCK/WTS_SESSION_UNLOCK des ScreenSavers. Als Dienst (laufend als LocalSystem) kannst Du diese sogar benutzen, um bei WinLogon (Windows Anmeldung) in der Session des gerade angemeldeten User eine Applikation zu starten. Denke ein ähnliches verfahren nutzen VirenScanner, um die GUI zu starten. |
AW: Windows Re-Login/Hibernate/Screensaver Ende - welches Ereignis muss man überwache
Ruhezustand und Standby kann man mit diesen Messages abdecken:
Code:
Alles, was RESUME enthält, ist für das Aufwachen. Der Bildschirmschoner sollte keinen Einfluss auf die Größe und Position von Fenstern haben.
PBT_APMRESUMESUSPEND = 0x0007
PBT_APMRESUMESTANDBY = 0x0008 PBT_APMSUSPEND = 0x0004 PBT_APMSTANDBY = 0x0005 PBT_APMRESUMECRITICAL PBT_APMRESUMEAUTOMATIC Grüße Dalai |
AW: Windows Re-Login/Hibernate/Screensaver Ende - welches Ereignis muss man überwache
Vielen vielen Dank für den Input, ich werde mich gleich mal ran machen und es umzusetzen, Dankeschön!
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz