Feststellen ob PC im Standby-Modus
Feststellen ob PC im Standby-Modus
Hallo,
gibt es eine Möglichkeit festzustellen ob sich der PC aktuell gerade im Standbymodus befindet oder vor X Sekunden im Standby Modus befand?
Danke!
Grüsse Matthias
gibt es eine Möglichkeit festzustellen ob sich der PC aktuell gerade im Standbymodus befindet oder vor X Sekunden im Standby Modus befand?
Danke!
Grüsse Matthias
Ractur, der mit dem Programmierstil der 80er Jahre 

-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
spezifizier mal genauer, was du mit Standby-Mode meinst.
der Monitor aus, die Pladde aus, oder der Rechner auf "sleep"...
bei letzterem ist der Rechner nämlich eigentlich aus, nur sein Speicherinhalt komplett auf Pladde gemapt.
in dem Zustand läuft dein Program garnicht.
der Monitor aus, die Pladde aus, oder der Rechner auf "sleep"...
bei letzterem ist der Rechner nämlich eigentlich aus, nur sein Speicherinhalt komplett auf Pladde gemapt.
in dem Zustand läuft dein Program garnicht.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
StandBy <> RuhezustandKaeru Gaman hat geschrieben:bei letzterem ist der Rechner nämlich eigentlich aus, nur sein Speicherinhalt komplett auf Pladde gemapt.
in dem Zustand läuft dein Program garnicht.
Deine Aussage trifft auf den Ruhezustand zu.
Im Standbymodus wird alles abgestellt, was nicht gebraucht wird, aber der PC bleibt an, und der Raminhalt bleibt im Ram.
Der PC ist innerhalb weniger Sekunden wieder betriebsbereit, nachdem man den PowerON-Knopf gedrückt hat.
@Topic: Ich denke nicht, dass es möglich ist. Im StandBy-Modus werden alle Aktivitäten aller Programm unterbrochen. Und mitgeloggt wird es auch nicht, wann der PC aus dem StandBy-Modus wieder "erwacht".
Falls es für soetwas keine Funktion geben sollte oder solche Ereignisse nirgendwo gespeichert sind (versuchs doch mal mit der Ereignisanzeige in der Systemsteuerung/Computerverwaltung), habe ich hier eine Alternatividee:
Während des StandBy-Modus kann ein Programm nicht weiterlaufen. Man könnte also in einer Schleife permanent mit Date() prüfen, ob sich der PC im StandBy-Modus befand.
Date() ist sekundengenau, prüft man also zwei Mal hintereinander mit Date() und die Differenz zwischen diesen beiden Werten ist größer als 1 Sekunde, lag ein StandBy-Modus vor. Diese Methode würde auch für den Ruhezustand funktionieren.
ElapsedMilliseconds() würde ich nicht nehmen, da dieser Wert vermutlich auch über einen StandBy oder Ruhezustand hinweg "lückenlose" Zeitwerte gibt. Ob diese Aussage stimmt, habe ich aber jetzt nicht getestet.
Während des StandBy-Modus kann ein Programm nicht weiterlaufen. Man könnte also in einer Schleife permanent mit Date() prüfen, ob sich der PC im StandBy-Modus befand.
Date() ist sekundengenau, prüft man also zwei Mal hintereinander mit Date() und die Differenz zwischen diesen beiden Werten ist größer als 1 Sekunde, lag ein StandBy-Modus vor. Diese Methode würde auch für den Ruhezustand funktionieren.
ElapsedMilliseconds() würde ich nicht nehmen, da dieser Wert vermutlich auch über einen StandBy oder Ruhezustand hinweg "lückenlose" Zeitwerte gibt. Ob diese Aussage stimmt, habe ich aber jetzt nicht getestet.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
@TomS
yo mir war jetzt nicht bewußt, dass er zwischen "Monitor und Platte aus" und "Sleep" noch ein "Standby" gibt...
gabs das bei w2000 auch schon?
@AND
gar nicht mal schlecht, die idee.
... ich schätze, dass Ems auch einen korrekten, ununterbrochenen Wert liefert.
yo mir war jetzt nicht bewußt, dass er zwischen "Monitor und Platte aus" und "Sleep" noch ein "Standby" gibt...
gabs das bei w2000 auch schon?
@AND
gar nicht mal schlecht, die idee.
... ich schätze, dass Ems auch einen korrekten, ununterbrochenen Wert liefert.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Und dieses Monitor und Platte aus ist StandBy.
nicht ganz...
ich hab in den energiesparoptionen drei Einstellungen.
Monitor aus, Platte aus und Standby.
übrigens kann ich Standby nicht mit der (usb) Maus unterbrechen, die anderen beiden schon.
hab jetzt einen test gemacht: Eml wird auch fortgezählt.
... ich hab jetzt allerdings nicht getestet, ob das prog wirklich unterbrochen wird, ist aber anzunehmen.
ich modifizier den code nochmal und teste das auch.
hab jetzt eh nochwas zu tun, da kann der rechner noch ne halbe stunde standby stehen... xD
nicht ganz...
ich hab in den energiesparoptionen drei Einstellungen.
Monitor aus, Platte aus und Standby.
übrigens kann ich Standby nicht mit der (usb) Maus unterbrechen, die anderen beiden schon.
hab jetzt einen test gemacht: Eml wird auch fortgezählt.
... ich hab jetzt allerdings nicht getestet, ob das prog wirklich unterbrochen wird, ist aber anzunehmen.
ich modifizier den code nochmal und teste das auch.
hab jetzt eh nochwas zu tun, da kann der rechner noch ne halbe stunde standby stehen... xD
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Das mit den Energieoptionen ist wieder was anderes.
Dein Monitor geht nach 15 Minuten aus und eine Platte nach 30 (je nachdem, was du eingestellt hast). Damit hab ich mich gar nicht befasst, da ich es gleich abgestellt habe (wie soll man denn bei dem Schmarrn ne DVD anschauen können -_-). Ich meinte eigentlich den Punkt im Herunterfahren-Menü. Und das im StandBy Monitor und Platte abgeschaltet werden, bei Platte abschalten nach X minuten, aber nicht in den StandBy-Zustand übergegangen wird, ist wieder was anderes... Kompliziert, kompliziert, das Energiesparen mit einem PC.
StandBy mit der Maus unterbrechen wär auch nicht sonderlich sinnvoll. Stell dir mal vor, dein Fernseher geht an, wenn du deine Fernbedienung von der Couch auf irgendein Regal legst xD
Dein Monitor geht nach 15 Minuten aus und eine Platte nach 30 (je nachdem, was du eingestellt hast). Damit hab ich mich gar nicht befasst, da ich es gleich abgestellt habe (wie soll man denn bei dem Schmarrn ne DVD anschauen können -_-). Ich meinte eigentlich den Punkt im Herunterfahren-Menü. Und das im StandBy Monitor und Platte abgeschaltet werden, bei Platte abschalten nach X minuten, aber nicht in den StandBy-Zustand übergegangen wird, ist wieder was anderes... Kompliziert, kompliziert, das Energiesparen mit einem PC.
StandBy mit der Maus unterbrechen wär auch nicht sonderlich sinnvoll. Stell dir mal vor, dein Fernseher geht an, wenn du deine Fernbedienung von der Couch auf irgendein Regal legst xD
Hallo,
danke an alle! Also ich meinte den Ruhezustand, da wo Fesplatte ausgeht, Monitor etc... und dann der PC quasi fast ausgeschaltet ist.
Diese Idee finde ich sehr gut ^^ Ich hab mal was gemacht, die "Schleife" wird alle Sekunde einmal durchlaufen [WaitWindowEvent(1000)]
Wäre das so richtig oder habe ich gerade einen Denkfehler? Da die "Schleife" einmal durchlaufen wird pro Sekunde, wird ein Wert ermittelt werden bevor der PC in den Standby fältt. Kommt der PC aus dem Standby wird wieder ein Wert ermittelt welcher diesmal wesentlich höher sein wird. Hmm ja, ich denke das wird so funktionieren, ich werds mal probieren ^^ 
Danke, Matthias
danke an alle! Also ich meinte den Ruhezustand, da wo Fesplatte ausgeht, Monitor etc... und dann der PC quasi fast ausgeschaltet ist.
AND51 hat geschrieben: Während des StandBy-Modus kann ein Programm nicht weiterlaufen. Man könnte also in einer Schleife permanent mit Date() prüfen, ob sich der PC im StandBy-Modus befand.
Date() ist sekundengenau, prüft man also zwei Mal hintereinander mit Date() und die Differenz zwischen diesen beiden Werten ist größer als 1 Sekunde, lag ein StandBy-Modus vor. Diese Methode würde auch für den Ruhezustand funktionieren.
Diese Idee finde ich sehr gut ^^ Ich hab mal was gemacht, die "Schleife" wird alle Sekunde einmal durchlaufen [WaitWindowEvent(1000)]
Code: Alles auswählen
a = a+1
If a = 1
first = Date()
EndIf
If a = 2
second = Date()
a = 0
EndIf
;Debug a
;Debug first
;Debug second
If first < second
finish = second - first
Else
finish = first - second
EndIf
If finish > 2
Aktion PC war im Standby
EndIf

Danke, Matthias
Ractur, der mit dem Programmierstil der 80er Jahre 
