Ich möchte über Python den Monitor ausschalten, durch googlen hab ich nichts gefunden. In Delphi ist es offenbar ganz einfach:
http://chiragdalal.tripod.com/howto/monitor_on_off.html
MfG
xStream
Monitor an / aus
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ungetestet:
Ich weiß im Moment nicht wo man ein hwnd herzaubern soll.
Code: Alles auswählen
import win32api, win32con
win32api.SendMessage("Hier brauchst du ein hwnd", win32con.WM_SYSCOMMAND, win32con.SC_MONITORPOWER, 1)
win32api.SendMessage("Hier brauchst du ein hwnd", win32con.WM_SYSCOMMAND, win32con.SC_MONITORPOWER, 2)
win32api.SendMessage("Hier brauchst du ein hwnd", win32con.WM_SYSCOMMAND, win32con.SC_MONITORPOWER, -1)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Nicht herzauber, sonder du musst eins haben. Mit dem Bildschirschoner aktivieren ging es jedenfalls so. Man musste an das Fenster seines eigenen Programms die Nachricht "Bildschirschoner aktivieren" schicken.Leonidas hat geschrieben:Ich weiß im Moment nicht wo man ein hwnd herzaubern soll.
Du kannst auch mal versuchen, das Handle von der Taskbar, oder dem Desktop zu benutzen. Vielleicht klappts.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ich weiß, ich wollte mit dem "herzaubern" nur ausdrücken, dass ich im Moment keine Ahnung habe, wie man das hWnd des eigenen Fensters bestimmt und auch keine Lust hatte noch weiter danach zu suchen. Aber vielleicht kann ProgChild dir ein Beispiel geben woher man das hWnd bekommt.ProgChild hat geschrieben:Nicht herzauber, sonder du musst eins haben. Mit dem Bildschirschoner aktivieren ging es jedenfalls so. Man musste an das Fenster seines eigenen Programms die Nachricht "Bildschirschoner aktivieren" schicken.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Schön wärs... Ich hab hier einen Link. Den musst du dir aber nach Python umschreiben...Leonidas hat geschrieben:Ich weiß, ich wollte mit dem "herzaubern" nur ausdrücken, dass ich im Moment keine Ahnung habe, wie man das hWnd des eigenen Fensters bestimmt und auch keine Lust hatte noch weiter danach zu suchen. Aber vielleicht kann ProgChild dir ein Beispiel geben woher man das hWnd bekommt.
Vom Prinzip her, bekommst du das Handle von der Funktion CreateWindow oder CreateWindowEx. Dan brauchst du es, um z.B. das Fenster anzuzeigen. Die WinAPI ist so ne Sache für sich. Ist bei mir auch schon etwas her...
Wenn du ein Toolkit benutzt, dann gibt es da bistimmt ne Funktion, wie du leichter an ein Fenster Handle kommst.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Naja, hier ist das Window schon da, entweder dass Fensterle von python oder halt Talkleiste oder so was ähnliches. Nur man muss das Handle irgendwie bekommen. Ich habe hier so ein kleines Tutorial, jedoch fehlt mir hier wo hWnd eigentlich her kommt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Das Handle von der Taskbar müsstest du so bekommen (ungetestet):
Nur falls es jemanden interessiert.
Code: Alles auswählen
from win32api import *
from win32con import *
from win32gui import *
hWnd = FindWindow("shell_traywnd", "");
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Leonidas!Leonidas hat geschrieben: Ich weiß im Moment nicht wo man ein hwnd herzaubern soll.
Dein Beispiel gefällt mir.

Mit
Code: Alles auswählen
win32gui.GetDesktopWindow()
lg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Thx! Folgendes Beispiel geht:
@Gerold deins ging bei mir leider nicht.
Code: Alles auswählen
import win32api, win32con, win32gui, time
hWnd = win32gui.FindWindow("shell_traywnd", "")
win32api.SendMessage(hWnd, win32con.WM_SYSCOMMAND, win32con.SC_MONITORPOWER, 2)
time.sleep(3)
win32api.SendMessage(hWnd, win32con.WM_SYSCOMMAND, win32con.SC_MONITORPOWER, -1)
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi xStream!xStream hat geschrieben: @Gerold deins ging bei mir leider nicht.
Das kapiere ich jetzt nicht so ganz. Da ich mir nicht sicher war, habe ich es vor dem Posten noch bei mir ausprobiert.

Was soll's, hauptsache ist doch, dass du eine funktionierende Lösung gefunden hast.

mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.