![]() |
Re: Suche API um Bildschirm einzuschalten
Delphi-Quellcode:
procedure TForm1.BildschirmEinschalten;
begin SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1); end; |
Re: Suche API um Bildschirm einzuschalten
Also nochmal zur aktuellen Problembeschreibung:
Habe ja zwei Buttons wo ich den Bilschirm ein- und ausschalten kann. Das funktioniert ohne Probleme. Jetzt warte ich solange, bis Windows den Bildschirm ausschaltet. Im Hintergrund läuft das Programm noch mit einem Timer der alle 5s den Bildschirm einschalten soll. Nun, er macht schon irgendwie was, aber net so wie ich will. Wenn der Timer abgelaufen ist und den Bilschirm einschalten will macht er das auch kurz, aber mir kommt es so vor, das Windows dann sofort wieder den Bildschirm ausschalten will. Er bleibt dann auch schwarz. Woran kann das liegen? Was macht Windows eigentlich wenn der Bildschirm durch die Energieoption ausgeschaltet wird? |
AW: Suche API um Bildschirm einzuschalten
Als ich ein Konsolenprogramm nicht beenden konnte, fand ich heraus, dass Sendmessage der Verursacher war.
Man sollte sich angewöhnen, Sendmessage durch Postmessage zu ersetzen, wenn man keine Blockade verursachen will. ![]()
Delphi-Quellcode:
program DISPLAYOFF; //oder DISPLAYON
//{$APPTYPE CONSOLE} uses Windows; const WM_SYSCOMMAND = 274; MONITOR_OFF = 2; MONITOR_ON = -1; Begin sleep(2000); // muss sein!!! kann aber evtl auch 500 reichen PostMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_OFF);//MONITOR_ON sleep(2000); // kann entfallen Exit; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 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