Go Windows Forum
PC Hilfe Forum => PC Software => Thema gestartet von: Noone am 23. Dezember 2009, 08:32:25
-
In den Energieeinstellungen kann man den Monitor nach einer gewissen Zeit der Untätigkeit bekanntlich in den StandBy-Modus gehen lassen. Irgendwie muß es da also einen Befehl geben, mit dem man das auch von Hand machen kann. Kennt diesen Befehl bzw. diese Befehlszeile jemand?
PCWelt hatte da mal ein kleines Programm
http://www.pcwelt.de/downloads/pcwelt_tools/tools/39930/pcwmonitoraus/
Das funktioniert unter Windows 7 aber offenbar nicht mehr. Ich habe es ausprobiert, auch im Kompatibilitätsmodus... -
Mit einem einfachen Befehl kann man das nicht erledigen. Ich habe jedoch ein kleines Script gefunden.
'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.
'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!
'------------- Anfang Projektdatei Project1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm ---------
' Steuerelement: Timersteuerelement "Timer1"
' Steuerelement: Schaltfläche "Command1"
Option Explicit
Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As _
Long, ByVal wParam As Long, lParam As Any) As Long
'Update am 6. April 2003: der Monitor sollte sich nun auch
'unter Windows 2k/XP abschalten
Const WM_SYSCOMMAND = &H112&
Const SC_MONITORPOWER = &HF170&
Private Sub Command1_Click()
Dim X As VbMsgBoxResult
X = MsgBox("Monitor 10 Sec ausschalten ?", vbYesNo)
If X = vbYes Then
Timer1.Interval = 10000
Timer1.Enabled = True
SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal 2&
End If
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
Timer1.Enabled = False
SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal -1&
End Sub
'---------- Ende Formular "Form1" alias Form1.frm ----------
'-------------- Ende Projektdatei Project1.vbp --------------
Quelle: http://www.activevb.de/tipps/vb6tipps/tipp0048.html
Ob es Vista bzw. Windows 7 tauglich ist, kann ich nicht sagen.
-
O Gott, das sieht mir nach einem VB-Programm aus. Das müßte man ja wohl erst mal kompilieren. Ich kann das nicht. Ich dachte, da gäbe es ein kleines Befehlszeilchen...
Mit VB-Skript ist da wohl nichts zu machen, oder? Oder ist das eine .vbs? -
nein, das sieht mit sehr nach VB aus allein wegen der Zeile
...
Ende Projektdatei Project1.vbp
...
-
Damit kann ich dann leider nichts anfangen. Trotzdem vielen Dank für Deine Bemühungen, lieber Netzi. Vielleicht gibt es ja noch etwas Anderes...
-
Eventl. funktioniert das. Kann es nicht ausprobieren, beim Mac geht das von Haus aus :)
http://support.microsoft.com/kb/555569/en-us
oder
http://www.windowsblog.at/stories/23231.aspx
PS: Ich biete auch Google Kurse an ;) -
Alter Freund, ich habe gegoogelt, und, wie Du offenbar auch, leider nichts gefunden. Also schimpfe bitte erst dann, wenn Du Dir sicher bist, daß Du damit auch Recht hast.
Der Mac geht mich nichts an. Ich habe nämlich Windows. Ich will auch nicht meinen PC in Standby schicken, sondern meinen Monitor. Wie der PC in Standby zu schicken ist, hätte ich selbst gewußt, bzw. ergoogelt.
Auf den Google-Kurs kann ich also vorläufig sehr gut verzichten, OK? -
hmm ok, das wort fehlte beim Googlen. :) Windows scheint das nicht von haus aus machen zu können. aber ich stoße immer wieder auf dieses NirCmd.
http://www.mydigitallife.info/2009/10/22/set-hotkeys-to-turn-off-the-monitor-or-computer-via-nircmd-command-line-utility/
auch diesmal wars Google. Nicht gleich eingeschnappt sein. Und ob dich Mac interessiert oder nicht, interessiert mich nicht. Aber es ist nicht verkehrt zu wissen was jenseits des Tellers existiert.
Alternativ kannst du auch den Standby Mechanismus des Monitors direkt benutzen. Dieses Feature gibts seit ca. 40 Jahren oder länger -
Nircmd
http://www.nirsoft.net/utils/nircmd.html
scheint jetzt wirkllich mal eine schlaue Idee gewesen zu sein. Vielen Dank. Das werde ich versuchen.
EDIT:
Unter WinXP funktioniert es schon mal mit dem Befehl
nircmd monitor off
Es sollte später nur noch unter Windows 7 funktionieren...
EDIT:
Alternativ kannst du auch den Standby Mechanismus des Monitors direkt benutzen. Dieses Feature gibts seit ca. 40 Jahren oder länger
Kannst Du mir das mal erklären? Bei mir gibt es nur die Power-Taste, aber keine Standby-Taste. -
Hallo zusammen,
als alter VBler habe ich den Code, der oben genannt war, mal genommen und für euch in eine kleine EXE verpackt
(es ist nicht 1:1 der selbe Code, macht aber das Gleiche).
Bei mir unter Windows 7 funktioniert es genau so wie es soll.
Gruß Frank -
Ja, das nenne ich mal bestes Engagement. Das lobe ich mir. Vielen herzlichen Dank. Wird heute abend gleich mal ausprobiert.
EDIT:
Geht das auch sofort und nicht erst immer in 10 Sekunden? -
null problemo :D , einfach noch mal melden, wenn es irgendwo klemmt.
-
Geht das auch sofort und nicht erst immer in 10 Sekunden? Vielleicht hinten einen Parameter vorsehen...
EDIT:
Man könnte das Programm von Frank W. ja als Ersatz für das veraltete PCW-Programm hier im Downloadbereich online stellen... -
auch das ist absolut GAR KEIN Problem.
=> neue EXE in der Anlage
Gruß Frank -
Und diese zwei Klicks mit Abfragen, ob man auch wirklich tun will, was man tut, sind wirklich nötig?
Ich weiß, ich beschäftige Dich jetzt über alle Maßen... -
dann versuch es mal mit der dritten Variante :zwinkern
Gruß Frank -
Sehr gut! Jetzt braucht es nur noch einen Klick (auf "Energiesparmodus starten"). Ohne den geht es wohl nicht?
-
geht nicht gibt es nicht! :))
-
@Frank W., Du bist der Größte! Jetzt ist alles schlicht und einfach und so, wie ich es wollte.
Wenn ich mal wieder mit VB zu tun habe, weiß ich jetzt, an wen ich mich wenden muß. :zwinkern
Und natürlich Netzi nicht zu vergessen, der den Source-Code geliefert hat. Danke! -
immer wieder gerne. Ich "spreche" auch noch andere Sprachen.
Neben VB6 auch gerne C#.
[attachment=1]
P.S.: schöne Feiertage alle zusammen. Ich "spreche" auch noch andere Sprachen.
Neben VB6 auch gerne C#.
Ich "spreche" nur xBase...geht nicht gibt es nicht! :))
Klappt wunderbar. Merci :kaffee-
@Frank W., gibt es irgendwo eine Übersicht, was man mit diesen Sendmessage-Konstanten alles anfangen kann? Ich finde zwar eine Liste der Konstanten selbst
http://www.vbcode.com/Asp/showsn.asp?theID=11797
aus der sich für meine Begriffe aber nicht der Verwendungszweck erschließt. 0xF170 scheint außerdem nicht einmal dabei zu sein... -
Hallo Noone,
es gibt auf den MSDN Seiten von Microsoft jede Menge dazu. Es ist allerdings nicht so besonderes übersichtlich und man findet sich nicht so ganz einfach zu recht (finde ich jedenfalls)
Gruß Frank -
Ich denke, ich laß da besser die Finger davon. Ich wollte eigentlich kein neues Studium beginnen... :zwinkern
-
großartig
-
Hallo ihr Lieben,
habe heute durch Zufall diesen Thread gefunden.
Die exe.Datei habe ich getestet.
Ich würde so etwas gerne in einem kleinen Programm von mir einbauen.
Kann soetwas ohne großen Aufwand realisiert werden, dass der Code über einen Aufruf gestartet wird und zeitgesteuert den Bildschirm wieder einschaltet?
Herzlichen Dank :))
LG :zwinkern
Heike Karina -
Hallo Heike,
das sollte kein Problem sein. Es gibt eine je entsprechende Konstante für ON und OFF.
Hier die nötigen Code Fragmente.
Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SYSCOMMAND = &H112&
Private Const SC_MONITORPOWER = &HF170&
Private Const MONITOR_ON = -1&
Private Const MONITOR_OFF = 2&
Call SendMessage(Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal MONITOR_OFF)
Call SendMessage(Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, ByVal MONITOR_ON)
Gruß Frank -
Danke an Frank W.
ich habe das herrliche Energiesparmodus von Dir in der Version 2 heruntergeladen. Läuft unter WIN7 mit 5 Monitoren am PC fantastisch. Zu deiner Info, warum ich besonders dankbar bin. Die Monitore werden bei mir zeitgesteuert ausgeschaltet. Allerdings habe ich irgendein Programm am laufen dass das dann verhindert. Am Anfang des Tages geht die automatische Abschaltung von Win7. Im Laufe des Tages dann nicht mehr.
Dein Programm funktioniert den ganzen Tag. Das ist Klasse, gerade bei dem o.g. Fehler den mein PC hat. Und besonders Vorteilhaft: Wenn ich nur mal SCHNELL weg will am PC sehe ich mit deinem Programm sofort: Die Bildschirme sind aus. Das aufwecken über die Maus läuft fehlerfrei. Einfach Genial so.
Nochmals DANKE + LG -
Weil wir gerade wieder einmal beim Thema sind:
Ich habe das Problem, daß mein Monitor alle paar Minuten wieder aktiv wird weil ich ein Programm (http://www.ch-software.de/popman/) habe, das alle paar Minuten im Hintergrund schaut, ob neue Emails auf meinem Server liegen und diesbezügliche Anzeigen in der Taskleiste tätigt. Das deutet der Monitor so, daß er jetzt wieder angehen soll. Soll er aber nicht. Kann man da ggf. etwas machen? Das sollte ignoriert werden. -
Hallo Noone,
du weisst wenigstens was für ein Programm das bei dir macht. Ich denke das wäre lösbar wenn du das Mail-Programm zusammen mit der Bildschirmabschaltung vorübergehend deaktivierst und es bei korrekter Bildschirmaktivität (also die, die von dir aus geht) wieder aktivierst.
Ich denke, dass wäre ein Fall wo dir Frank evtl. mit einer Modifikation helfen kann. Es wäre ja schon ausreichend, wenn das Mail-Programm zusammen mit der Bildschirmabschaltung inaktiv würde. Eine manuelle Aktivierung, wenn du wieder am Bildschirm bist, wäre ja auch noch OK.
Mein Fehler nochmals: Die WIN-Bildschirmabschaltung funktioniert im Laufe des Tages irgendwann einfach nicht mehr. Ich finde nicht heraus warum. Aber wenn ich die Bildschirme Dank Franks Programm abschalte, bleiben sie dauerhaft aus.
Viel Erfolg wünsche ich dir für eine Problemlösung.
LG powermann
du weisst wenigstens was für ein Programm das bei dir macht.
Ja. Das habe ich mal langwierig und zeitaufwendig ausgetestet.
Ich denke das wäre lösbar wenn du das Mail-Programm zusammen mit der Bildschirmabschaltung vorübergehend deaktivierst und es bei korrekter Bildschirmaktivität (also die, die von dir aus geht) wieder aktivierst.
Das ist natürlich sehr unkomfortabel. Ausschalten ginge ja noch problemlos mit einem Kill-Kommando in der MonitorOff-Batch. Aber Einschalten ginge nach meinem Wissensstand nur wieder manuell, also nicht automatisch zusammen mit Aktivierung des Monitors. Statt Ausschalten wäre auch das Nichtanzeigen neuer Mails besser. Aber das scheint nicht per Skript zu gehen.-
Guten Tag.
Auch wenn der Thread alt ist, das Problem ist unverändert das Gleiche geblieben...
Wir nutzen 4 identische PC's (Fuj.Siem., Esprimo Serie) mit 4 identischen Monitoren (Asus) auf allen PC's ist Win XP Sp3 installiert. Bitte jetzt keine Ratschläge, warum denn XP unsicher sei, etc...denn diese PC's tun genau das was sie sollen, seit 12 Jahren OHNE PROBLEME: Sie rechnen ab, hängen jedoch nicht, nicht einmal eine einzige Sekunde seit Inbetrieb-Nahme, am Internet.
Offenbar gibt es doch hierbei einen 'primus inter pares', denn bei den restlichen 3 springt der Standby-Betrieb nach der eingestellten Zeit (5 min) an, beim 4. jedoch nicht - hier springt zwar der Bildschirmschoner an, dieser bleibt aber scheinbar endlos an, dh. Hintergrundbeleuchtung bleibt ebenso an....kein Standby!
Nun habe ich 'Energiesparmodus4' von dem netten Mitmenschen Frank W. ausprobiert, wollte dies zumindest: Auf einem Win 8.1 PC lief es ohne Beanstandung....jedoch auf dem Besagten XP-PC, bei dem offenbar Herr Murphy seine Macht walten lässt, springt das Programm nicht einmal auf!! Im TaskManager taucht Energiesparmodus4.exe genau eine halbe Sekunde auf, danach sofort aus der Liste verschwunden. Monitor denkt nicht einmal im Traum danach, in den Standby Betrieb zu schalten....
Woran kann dies liegen? (Treiber an allen PC's identisch installiert, kein 'gelbes' Fragenzeichen vorhanden).
Vielen Dank für die Mühe.
Gruß
cmburns2
-
Da gibt's doch nen Knopf ?