Laptopdeckel
-
Hi Leute,
kann mir irgenjemand sagen, wie man abfragen kann, ob der Laptopdeckel offen oder geschlossen ist?
mfg,
Lupus
-
Gegenfrage: gibt es eine Möglichkeit zu überprüfen ob der Monitor Ein- oder Ausgeschalten ist? Nein? Dann Wird es auch keine Möglichkeit geben herauszufinden ob der deckel vom Laptop offen oder geschlossen ist.
Gruß Matthias
-
Vergessen: Wo liegt eigentlich der sinn darin das zu wissen?
Gruß
-
Müsste man das nicht sehr wohl abfragen können?
Man kann ja auch einstellen, wie sich der Laptop beim schließen des "Deckels" verhalten soll...
-
Ich kenne kenne solche Nachricht außer WM_POWERBROADCAST.
Diese Nachricht wird aber auch nur versendet, wenn mit dem Schliessen des Laptops ein Suspend oder Hybernate geschaltet wurde.IMHO wird das Schliessen des Deckels vom BIOS des Laptops erkannt und über Treiber an das OS weitergegeben. Das Powermanagement-System reagiert dann entsprechend.
IMHO kann man also das Schließen des Laptop Deckels alleine nicht abfragen/abfangen.
Die Frage wurde schon gestellt: Warum willst Du das wissen?
-
ich brauch das für ein programm, bei dem die Zeit angehalten werden soll, wenn der deckel geschlossen ist. es geht um eine Zeitbegrenzung.
-
die gängigen laptop-bildschirme gehen aus, weil ein kleiner taster oder lichtsensor beim zuklappen reagiert. Ist also ne reine Elektronik-angelegenheit. Ansonsten gibts da wohl keine möglichkeit. außer vielleicht die Prozessorlast zu messen und ab einem bestimmten wert dein programm seine anweisungen machen zu lassen. TEORETISCH natürlich nur.
-
aber man kann ja auch einstellen, dass, wenn der Laptopdeckel zugemacht wird, der Laptop auf Ruhezustand geht und das ist ja keine reine Elektroniksache
-
Nein! Das wird aber durch das interne Powermanagement ausgelöst und Du erhälst die Nachricht WM_POWERBROADCAST davon.
Aber das habe ich schon geschrieben. IMHO kommst Du an keine anderen Events die dieses Ereignis betreffen!
-
aha, danke.
-
Werden nicht alle Programme gestoppt sobald die Kiste im Ruhezustand ist (also der Deckel zu ist) inclusive aller Events.
Dann schnapp die doch nen Timer.
Wenn die Timer-Events nicht mehr der Systemzeit entsprechen war eben Deckel zu.Also Timer auf 1000 ms, wenn seit dem letzten Timeraufruf mehr Zeit vergangen ist dann wars das.
Gibt nur evtl. das Problem das Windows nicht 100%ig alle Timeraufrufe garantiert.Alternativ ginge das auch mit dem Sleep Befehl.
Babbage
-
Dann kann er sich eher auf WM_POWERBROADCAST verlassen!
-
das wäre doch nen ansatz.
Event WM_POWERBROADCAST abfragen -> Zeit speichern und dann später abgleichen. So in etwa könnte es vielleicht funktionieren.