2017-02-02 2 views
-1

Ich versuche, ein Python-Skript zu drehen Bildschirm in Windows zu schreiben.
Ich habe Hinweise, es mit Win32api zu tun.
Was sind die anderen Möglichkeiten oder Befehle zu erreichen (Win32api enthalten).Bildschirm Drehung in Windows mit Python

+0

Check [http://stackoverflow.com/questions/23768184/programatically-rotate- Monitor] (http://stackoverflow.com/questions/23768184/programatically-rotate-monitor) für eine Antwort – mxl

Antwort

0

Dies ist (eine leicht modifizierte Version von) der Code, der für mich aus der oben angegebenen Antwort von lbenini funktioniert. Mögliche Bildschirmdrehung Werte sind win32con.DMDO_DEFAULT (0 °), win32con.DMDO_90, win32con.DMDO_180 und win32con.DMDO_270 (ein, indem Sie help(win32con) eine Liste erhalten können)

import win32api as win32 
import win32con 

def printAllScreen(): 
    i = 0 
    while True: 
     try: 
      device = win32.EnumDisplayDevices(None,i); 
      print("[%d] %s (%s)"%(i,device.DeviceString,device.DeviceName)); 
      i = i+1; 
     except: 
      break; 
    return i 

screen_count=printAllScreen() 
x = int(input("\nEnter a display number [0-%d]: "%screen_count)) 


device = win32.EnumDisplayDevices(None,x); 
print("Rotate device %s (%s)"%(device.DeviceString,device.DeviceName)); 

dm = win32.EnumDisplaySettings(device.DeviceName,win32con.ENUM_CURRENT_SETTINGS) 
dm.DisplayOrientation = win32con.DMDO_180 
dm.PelsWidth, dm.PelsHeight = dm.PelsHeight, dm.PelsWidth 
dm.Fields = dm.Fields & win32con.DM_DISPLAYORIENTATION 
win32.ChangeDisplaySettingsEx(device.DeviceName,dm)