Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi nach hochfahren aus hibernate fährt pc gleich wieder runter (https://www.delphipraxis.net/143770-nach-hochfahren-aus-hibernate-faehrt-pc-gleich-wieder-runter.html)

Cylence 23. Nov 2009 09:34


nach hochfahren aus hibernate fährt pc gleich wieder runter
 
Hi,

ich habe einen Mediaplayer programmiert, und in diesen auch die Möglichkeit eingebaut den PC zu einer vorbestimmten Zeit aus dem Ruhezustand oder Standby Mode zu starten. Dies funktioniert per SetwaitableTimer einwandfrei. Nun ist aber bei manchen Rechnern das Problem, das diese sich zwar dann einschalten um diese Zeit, aber erst wenn ich mit der Maus klicke, läuft wirklich alles los, bis dahin scheint der PC zwar aktiv aber in einem Pause modus zu sein oder so etwas. Auch ein Tastaturklick oder nur eine Mausbewegung bringen nichts, nur der Mausklick aktiviert den PC letztendlich und dann startet auch mein Mediaplayer usw...
Wenn aber nun in ca 2 minuten keiner die Maus klickt, geht der PC von allein wieder zurück in den Ruhezustand.
Kann ich das irgendwie verhindern? Ich würde gerne geweckt werden von meiner Musik und nicht nur von den Lüftergeräuschen *g* :-)
Kann ich irgendwie on Resumesuspend oder irgendsowas irgendwo abfragen und dann nen mausklick simulieren? Hab ich mal probiert hat aber nicht geklappt. Hat jemand da bessere Kenntnisse?

Gruß

tom

himitsu 23. Nov 2009 10:07

Re: nach hochfahren aus hibernate fährt pc gleich wieder run
 
Füge mal eine Timer mit Beep; aller 'ner Sekunde (oder 3 oder 4 Sekunden ...) in dein Programm ein.

Wenn es nach dem Start dann nicht Beept, dann kannst du etwas Programmseitiges vergessen, da dein Programm/PC dann vermutlich nicht läuft.

Cylence 23. Nov 2009 10:14

Re: nach hochfahren aus hibernate fährt pc gleich wieder run
 
Hi,

ok werde ich mal testen, aber auch wenn das nicht geht, da es eben das mit dem waitableTimer gibt, muss das ganze doch auch irgendwie machbar sein das der Rechner dann wirklich startet sonst wäre das waitabletimer zeugs ja total sinnlos eigentlich... oder?
Evtl muss man auch dem Rechner vorher sagen, das er nach diesem Standby/Ruhezustand nach dem hochfahren auch weiter laufen soll, vielleicht gibts da ne extra funktion oder so?


Gruß

tom

himitsu 23. Nov 2009 10:20

Re: nach hochfahren aus hibernate fährt pc gleich wieder run
 
Zitat:

Zitat von Cylence
Evtl muss man auch dem Rechner vorher sagen, das er nach diesem Standby/Ruhezustand nach dem hochfahren auch weiter laufen soll, vielleicht gibts da ne extra funktion oder so?

Hast du dich mal im BIOS umgesehn?

Uwe Raabe 23. Nov 2009 10:31

Re: nach hochfahren aus hibernate fährt pc gleich wieder run
 
Das mit den 2 Minuten ist Absicht! Hier ein Auszug aus MSDN zu System Wake-up Events:

Zitat:

When the system wakes automatically because of an event (other than power switch or user activity), the system automatically sets an unattended idle timer to at least 2 minutes. This timer gives applications sufficient time to call the SetThreadExecutionState function to indicate that they are busy. This time enables the system to return to the sleep state quickly after the computer is no longer required.
Den vollständigen Artikel findest du hier.

Cylence 23. Nov 2009 10:32

Re: nach hochfahren aus hibernate fährt pc gleich wieder run
 
Hi,

ja aber da hab ich nichts derartiges gefunden alles was so wakeup mässig drinnen is is aktiviert. Und setwaitable timer is ja auch nicht im BIOS zu finden aber trotzdem eine Funktion die vom BIOS unterstützt werden muss.

Auch wenn es Absicht ist muss es doch zu umgehen sein? Oder nicht? Weil sonst ist das ja absolut zwecklos...
ich hatte irgendwo mal was gehört das man dem System sagen kann das es nun benötigt wird und eben nicht wieder ausschalten soll...aber ich weiß nicht wie

Gruß

tom

himitsu 23. Nov 2009 11:18

Re: nach hochfahren aus hibernate fährt pc gleich wieder run
 
Zitat:

Zitat von Cylence
Auch wenn es Absicht ist muss es doch zu umgehen sein? Oder nicht? Weil sonst ist das ja absolut zwecklos...
ich hatte irgendwo mal was gehört das man dem System sagen kann das es nun benötigt wird und eben nicht wieder ausschalten soll...aber ich weiß nicht wie

das MSDN sagte doch
This timer gives applications sufficient time to call the SetThreadExecutionState function to indicate that they are busy.

Cylence 23. Nov 2009 12:11

Re: nach hochfahren aus hibernate fährt pc gleich wieder run
 
Hi,

also muss dieses SetThreadExecutionState das sein was ich meinte, das mein thread bzw die app eben sagt jetzt das machen nicht ausgehen.

Ok, aber wie implementier ich das?

Gruß

tom

himitsu 23. Nov 2009 12:13

Re: nach hochfahren aus hibernate fährt pc gleich wieder run
 
Zitat:

Zitat von Cylence
Ok, aber wie implementier ich das?

Man mag es kaum glauben, aber das steht da drüben MSDN-Library durchsuchenSetThreadExecutionState. :angel:

Cylence 23. Nov 2009 12:16

Re: nach hochfahren aus hibernate fährt pc gleich wieder run
 
Hi,

C bringt mir aber nicht viel, ich weiß trotzdem nicht wie ichs einbauen soll....

also für Player wäre das dann

SetThreadExecutionState( ES_DISPLAY_REQUIRED );

so in der art...

aber wann und wo starte ich die funktion?

Gruß

tom


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz