AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Suche API um Bildschirm einzuschalten
Thema durchsuchen
Ansicht
Themen-Optionen

Suche API um Bildschirm einzuschalten

Ein Thema von DoktorD · begonnen am 30. Mai 2007 · letzter Beitrag vom 20. Jun 2010
Antwort Antwort
Seite 1 von 2  1 2      
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#1

Suche API um Bildschirm einzuschalten

  Alt 30. Mai 2007, 21:55
Hi. Ihr kennt doch bestimmt die Einstellungen in Windows bei den Energieoptionen. U.a. ist da ja, das der Bildschirm nach der vorgegebenen Zeit ausgeschaltet wird.

Wie kann ich dies in Delphi abfragen, oder auch den Bildschirm wieder ein- oder ausschalten?

Danke für Eure Hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Suche API um Bildschirm einzuschalten

  Alt 30. Mai 2007, 22:06
Mit
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0); kannst du den Monitor ausschalten, mit
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1); kannst du ihn wieder einschalten

Das hättest du aber auch alles mit der Suchfunktion herausgefunden.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#3

Re: Suche API um Bildschirm einzuschalten

  Alt 30. Mai 2007, 22:20
Super, danke!!! Habe echt vorher gesucht, aber das hab ich net gefunden
  Mit Zitat antworten Zitat
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#4

Re: Suche API um Bildschirm einzuschalten

  Alt 30. Mai 2007, 23:32
Irgendwie klappt das trotzdem nicht.

Ich starte das Programm. Nach einer Minute schaltet Windows den Bildschirm aus. Dann läut im Programm der Timer, der den Bildschirm dann einschalten sollte.

Ich sehen den aber nur für einen bruchteil der Sekunde, danach ist wieder alles schwarz.

Ihr könnt ja mal meinen Quellcode ausprobieren.


Delphi-Quellcode:
var
  Form1: TForm1;
  Zeit : Integer;

implementation

{$R *.dfm}

procedure TForm1.BildschirmAusschalten;
begin
  SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
end;

procedure TForm1.BildschirmEinschalten;
begin
  SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  Zeit := 10;
  BildschirmEinschalten;
end;

procedure TForm1.btnOnClick(Sender: TObject);
begin
  BildschirmEinschalten;
end;

procedure TForm1.btnOffClick(Sender: TObject);
begin
  BildschirmAusschalten;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
BildschirmEinschalten
end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

Re: Suche API um Bildschirm einzuschalten

  Alt 31. Mai 2007, 00:13
Du könntest alternativ in den Energieoptionen einfach einstellen, dass Windows den Bildschirm gar nicht erst ausschaltet.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Suche API um Bildschirm einzuschalten

  Alt 31. Mai 2007, 00:23
Hallo,

bei mir funktioniert dein Code so wie er soll. Der Monitor wird abgeschaltet und nach Ablauf des Timers schaltet er sich wieder an und bleibt es dann auch.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
xxl1

Registriert seit: 21. Apr 2006
88 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Suche API um Bildschirm einzuschalten

  Alt 31. Mai 2007, 00:55
vllt musst du noch die grafikkarte "einschalten", für die gibts ja auch nen energiesparmodus....
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#8

Re: Suche API um Bildschirm einzuschalten

  Alt 31. Mai 2007, 05:38
Hi,

ich hab grad mal in der MSDN nachgesehen und fand das:

Zitat:
SC_MONITORPOWER
Sets the state of the display. This command supports devices that have power-saving features, such as a battery-powered personal computer.

The lParam parameter can have the following values:

1 - the display is going to low power

2 - the display is being shut off
Wenn 1 fuer low power ist und 2 fuer shut off wie bekommt man denn dann den Monitor wieder angeschaltet, oder muss man interpretieren dass 1 fuer low power "Monitor an" bedeutet?
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#9

Re: Suche API um Bildschirm einzuschalten

  Alt 31. Mai 2007, 06:42
Naja, einschalten kann man den Bildschirm ja mit -1
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#10

Re: Suche API um Bildschirm einzuschalten

  Alt 31. Mai 2007, 06:49
Zitat von DoktorD:
Naja, einschalten kann man den Bildschirm ja mit -1
Und wo steht das?
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  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 16:22 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