Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Suche API um Bildschirm einzuschalten (https://www.delphipraxis.net/93050-suche-api-um-bildschirm-einzuschalten.html)

DoktorD 31. Mai 2007 06:04

Re: Suche API um Bildschirm einzuschalten
 
Delphi-Quellcode:
procedure TForm1.BildschirmEinschalten;
begin
  SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
end;

DoktorD 31. Mai 2007 06:46

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?

hathor 20. Jun 2010 11:31

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.
http://msdn.microsoft.com/de-de/library/bb979347.aspx

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 11:42 Uhr.
Seite 2 von 2     12   

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