AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Windows 7 Standby/Hibernate Phänomen
Thema durchsuchen
Ansicht
Themen-Optionen

Windows 7 Standby/Hibernate Phänomen

Ein Thema von schwa226 · begonnen am 31. Okt 2009 · letzter Beitrag vom 26. Jun 2014
Antwort Antwort
Seite 1 von 2  1 2      
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#1

Windows 7 Standby/Hibernate Phänomen

  Alt 31. Okt 2009, 18:56
Hallo,

ich habe da ein Frage zu Windows 7 RTM & Delphi 2009.

Und zwar habe ich zum Test ein kleines Programm anghängt.
Dieses Programm loggt die WM_POWERBROADCAST Messages.

Nun zu dem Pänomen:
Starte ich die "Standby_Test.exe" zwei mal und drücke bei einem auf den Button fährt das System in den Standby.
Wenn der PC wieder zurück kommt zeigt sich folgendes:

Das Programm welches der Auslöser für den Standby war bekommt die Meldung PBT_APMSUSPEND nicht!

Das zweite Programm jedoch schon!



Fährt man über Windows->Start->Ruhezustand den PC runter bekommen beide Programme die Meldung!


Bei XP bekommen auch alle beide die Meldung.

Meine Frage ist nun - ist das ein Windows 7 Bug oder ist das so gewollt?
Wie kann man das "Reparieren"?
Angehängte Dateien
Dateityp: zip standby_test_515.zip (5,2 KB, 38x aufgerufen)
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Windows 7 Standby/Hibernate Phänomen

  Alt 31. Okt 2009, 18:57
Was passiert wenn du die Exe kopierst so das unterschiedliche Exe-Namen vorliegen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#3

Re: Windows 7 Standby/Hibernate Phänomen

  Alt 31. Okt 2009, 19:04
einfache Lösung wäre, wenn dein programm sich selber nochmal startet, mit einem Parameter.

wenn es beim Start diesen Parameter erkennt, dann schickt es Windows den Standby-Befehl und beendet sich danach wieder


dann schickt ja quasi ein "anderes" Programm den Befehl an Windows und dein Programm sollte das Ereignis mitbekommen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Windows 7 Standby/Hibernate Phänomen

  Alt 31. Okt 2009, 20:21
Also ich finde das schon logisch. Warum sollte das Programm selber benachrichtigt werden, dass es selber gerade den Standby-Modus ausgelöst hat? Das weiss das Programm ja eh. Die Meldung bekommt man also nur wenn die Auslösung von außen passierte. Ich empfinde das eigentlich nicht als Fehler sondern als logisches Design.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#5

Re: Windows 7 Standby/Hibernate Phänomen

  Alt 31. Okt 2009, 21:33
Zitat von OldGrumpy:
Also ich finde das schon logisch. Warum sollte das Programm selber benachrichtigt werden, dass es selber gerade den Standby-Modus ausgelöst hat? Das weiss das Programm ja eh. Die Meldung bekommt man also nur wenn die Auslösung von außen passierte. Ich empfinde das eigentlich nicht als Fehler sondern als logisches Design.
Leider aber nicht wenn das Programm das die Nachricht benötigt ein Plugin ist!
Wenn nun das Hauptprogramm den Standby auslöst bekommt das Plugin keine Meldung da es zu dem Programm-Thread/Window gehört.
So bin ich ja drauf gekommen das da was anders ist.

Wie könnte das dann bei einem Plugin gelöst werden?
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#6

Re: Windows 7 Standby/Hibernate Phänomen

  Alt 31. Okt 2009, 21:48
Dann muß das Programm seinen Plugins dieses eben selber mitteilen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Windows 7 Standby/Hibernate Phänomen

  Alt 31. Okt 2009, 21:55
Es ist ja gar kein Akt, die entsprechende Message in die passende Queue zu stellen.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#8

Re: Windows 7 Standby/Hibernate Phänomen

  Alt 1. Nov 2009, 00:38
Leider habe ich auf die Software die mein Plugin ladet keinen Einfluß.

Daher frage ich ob es da einen Weg herum gibt?

Vielleicht eigenen eigenen unabhängigen Thread erzeugen?
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Windows 7 Standby/Hibernate Phänomen

  Alt 1. Nov 2009, 11:10
Und wenn Du ein eigenes zusätzliches Toplevel-Window registrierst bekommt das die Messages auch nicht? (mit AllocateHwnd)
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#10

Re: Windows 7 Standby/Hibernate Phänomen

  Alt 1. Nov 2009, 11:13
Das mit AllocateHwnd habe ich schon ausprobiert. Doch auch da kommt die "ich gehe in Standby" Message auch nicht an.
Werde es einmal mit einen eigenen Thread versuchen.
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:26 Uhr.
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