def GetDisplayModes(): res = [] displayDevice = DISPLAY_DEVICE() displayDevice.cb = sizeof(DISPLAY_DEVICE) devMode = DEVMODE() devMode.dmSize = sizeof(DEVMODE) iDevNum = 0 while True: if EnumDisplayDevices(None, iDevNum, pointer(displayDevice), 0) == 0: break iDevNum += 1 if displayDevice.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER: continue EnumDisplaySettingsEx(displayDevice.DeviceName, ENUM_CURRENT_SETTINGS, pointer(devMode), 0) displayMode = ( displayDevice.DeviceName, devMode.dmPosition.x, devMode.dmPosition.y, devMode.dmPelsWidth, devMode.dmPelsHeight, devMode.dmDisplayFrequency, devMode.dmBitsPerPel, bool(displayDevice.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP), bool(displayDevice.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE), devMode.dmDisplayFlags, ) res.append(displayMode) return tuple(res)
def GetDisplays(): res = [] displayDevice = DISPLAY_DEVICE() displayDevice.cb = sizeof(DISPLAY_DEVICE) iDevNum = 0 while True: if EnumDisplayDevices(None, iDevNum, pointer(displayDevice), 0) == 0: break #DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = 1 if not (displayDevice.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER): disp = Display(iDevNum, displayDevice) res.append(disp) displayDevice = DISPLAY_DEVICE() displayDevice.cb = sizeof(DISPLAY_DEVICE) iDevNum += 1 return res
def GetDisplayModes(): res = [] displayDevice = DISPLAY_DEVICE() displayDevice.cb = sizeof(DISPLAY_DEVICE) devMode = DEVMODE() devMode.dmSize = sizeof(DEVMODE) iDevNum = 0 while True: if EnumDisplayDevices(None, iDevNum, pointer(displayDevice), 0) == 0: break iDevNum += 1 if displayDevice.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER: continue EnumDisplaySettingsEx( displayDevice.DeviceName, ENUM_CURRENT_SETTINGS, pointer(devMode), 0 ) displayMode = ( displayDevice.DeviceName, devMode.dmPosition.x, devMode.dmPosition.y, devMode.dmPelsWidth, devMode.dmPelsHeight, devMode.dmDisplayFrequency, devMode.dmBitsPerPel, bool( displayDevice.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP ), bool(displayDevice.StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE), devMode.dmDisplayFlags, ) res.append(displayMode) return tuple(res)
def GetDisplay(displayNum): displayDevice = DISPLAY_DEVICE() displayDevice.cb = sizeof(DISPLAY_DEVICE) if EnumDisplayDevices(None, displayNum, pointer(displayDevice), 0) == 0: return None return Display(displayNum, displayDevice)