Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Monitor "ausschalten" (https://www.delphipraxis.net/80668-monitor-ausschalten.html)

Webchen 13. Nov 2006 14:05


Monitor "ausschalten"
 
Hallo, ich wollte ein kleines Programm programmieren, sinn hin oder her, ist jedenfalls für die schule und sollte nur spaßig sein.

Ich wollte eine Funktion basteln die es mir ermöglicht den Monitor schwarz zu stellen.
Ich hab schon ein wenig gesucht, und hab auch folgendes gefunden:

Delphi-Quellcode:
SendMessage(Application.Handle,
           WM_SYSCOMMAND, SC_MONITORPOWER, 0);
ect pp..

die Frage ist jetzt nur, wisst ihr auch einen Code für XP ? denn dieser ist nur für NT und 2000 soweit ich gelesen habe.

Wäre nett wenn sich mal jemand melden würde.
VIelleicht gibt es ja sowas garnicht, alles möglich.

PS: Es soll KEIN Trojaner oder sowas werden, dafür bin ich viel zu noobig und auch viel zu nett ;)

Dankeschön!

SirThornberry 13. Nov 2006 14:09

Re: Monitor "ausschalten"
 
im MSDN habe ich nix gefunden was darauf hindeutet das es unter XP nicht mehr funktioniert. Hast du es unter XP schon probiert oder vermutest du einfach das es dort nicht funktioniert.
Bei mir läuft es zumindest unter XP.

Webchen 13. Nov 2006 14:25

Re: Monitor "ausschalten"
 
ernsthaft ?

Ich habe es gelesen, und getestet, aber wenn du das sagst teste ich das direkt nocheinmal.

Muss ich was spezielles einbinden ?

Win32.API 13. Nov 2006 14:27

Re: Monitor "ausschalten"
 
SendMessage(Application.Handle,WM_SYSCOMMAND, SC_MONITORPOWER, 1);

SirThornberry 13. Nov 2006 14:28

Re: Monitor "ausschalten"
 
nein, der Monitor muss es einfach nur unterstützen. Achja, ich seh grad das du einen Fehler drin hast. Der Letzte Paramter darf nicht 0 sein sondern:
Zitat:

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
also so:
Delphi-Quellcode:
SendMessage(Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2);
Der Monitor geht dann aber auch direkt nach einer Mausbewegung etc. wieder an.

[Edit]
1 ist also nur die richtige Wahl wenn du den Monitor nicht abschalten willst sondern lediglich dazu bringen willst weniger Energy zu verbrauchen
[/Edit]

Webchen 13. Nov 2006 14:40

Re: Monitor "ausschalten"
 
aaaah ich seh schon, haha!

SUPER !!! DANKESCHÖN, aber just in diesem augenblick habe ich das auch auf einer VB Seite gelesen und mir gedacht das das wohl auch so in Delphi sein wird.

DANKE FÜR DIE HILFE!!!

julian.juergens 11. Apr 2007 15:37

Re: Monitor "ausschalten"
 
Die Funktion funktioniert bei mir unter XP einwandfrei. Allerdings sind die Lautsprecher bei mir im Monitor integriert und die schaltet der Monitor auch gleich mit ab (sowohl mit einer 1 als auch mit einer zwei hinten...). Hat jemand eine Idee, wie ich den Monitor nur dunkel kriege?

SirThornberry 11. Apr 2007 15:40

Re: Monitor "ausschalten"
 
auf so eine Art und Weise gar nicht. Denn die oberen Funktionen setzen den Monitor in einen Energysparmodus. Wenn der Monitor also anbleiben soll (damit die Lautpsrecher funktionieren) kannst du ihn eben nicht einfach abschalten. Dementsprechend bleibt wohl nur übrig ein schwarzes bild anzuzeigen

vepman 16. Mai 2007 11:40

Re: Monitor "ausschalten"
 
Zitat:

Zitat von SirThornberry
The lParam parameter can have the following values:

1 - the display is going to low power

2 - the display is being shut off

Unter Vista funktioniert nur noch > 2 - the display is being shut off <.
Der Parameter 1 geht gar nicht mehr.

Gruss vepman


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:05 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