Skip to main content

Uses ctypes to get the resolution information of all available monitors

Project description

Uses ctypes to get the resolution and other useful information of all available monitors

pip install getmonitorresolution

Tested against Windows 10 / Python 3.10 / Anaconda

The get_monitors_resolution() function retrieves the resolution information of all available monitors on a Windows machine. It takes an optional parameter dpi_awareness, which sets the DPI awareness level. The function returns a tuple containing two dictionaries, allmoni and moninfos.

allmoni is a dictionary containing the resolution details of all available monitors, with the monitor index as the key. The values of the dictionary are also dictionaries containing the width and height of each monitor.

moninfos is a dictionary containing the following resolution information of all the available monitors:

width_all_monitors: The combined width of all the monitors.
height_all_monitors: The maximum height among all the monitors.
max_monitor_width: The maximum width of all the monitors.
min_monitor_width: The minimum width of all the monitors.
max_monitor_height: The maximum height of all the monitors.
min_monitor_height: The minimum height of all the monitors.


def get_monitors_resolution(dpi_awareness=2):
    """
    Retrieves the resolution information of all the available monitors and returns the resolution details in a dictionary format.

    Args:
        dpi_awareness (int): Optional parameter to set DPI awareness level. Default is 2, which is the highest level of DPI awareness.

    Returns:
        tuple: A tuple containing two dictionaries, `allmoni` and `moninfos`.
        - `allmoni` (dict): A dictionary containing the resolution details of all available monitors, with the monitor index as key.
        - `moninfos` (dict): A dictionary containing the following resolution information of all the available monitors:
            * width_all_monitors (int): The combined width of all the monitors.
            * height_all_monitors (int): The maximum height among all the monitors.
            * max_monitor_width (int): The maximum width of all the monitors.
            * min_monitor_width (int): The minimum width of all the monitors.
            * max_monitor_height (int): The maximum height of all the monitors.
            * min_monitor_height (int): The minimum height of all the monitors.
			
			

from getmonitorresolution import get_monitors_resolution
eachmonitor,general = get_monitors_resolution()
print(eachmonitor)
print(general)

# output 
eachmonitor,general = get_monitors_resolution()
from pprint import pprint
pprint(eachmonitor)
{0: {'DeviceID': 'PCI\\VEN_10DE&DEV_1F06&Sxxxxxxxxxxxxxxxxx&REV_A1',
     'DeviceKey': '\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Video\\{xxxxxxxxxxxxxx}\\0000',
     'DeviceName': '\\\\.\\DISPLAY1',
     'DeviceString': 'NVIDIA GeForce RTX 2060 SUPER',
     'StateFlags': 5,
     'height': 1080,
     'height_mm': 299,
     'is_primary': True,
     'width': 1920,
     'width_mm': 531,
     'x': 0,
     'y': 0},
 1: {'DeviceID': 'PCI\\VEN_10DE&xxxxxxxx&xxxxxxxxxxxxx&REV_A1',
     'DeviceKey': '\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Video\\{xxxxxxxxxxxx}\\0001',
     'DeviceName': '\\\\.\\DISPLAY2',
     'DeviceString': 'NVIDIA GeForce RTX 2060 SUPER',
     'StateFlags': 1,
     'height': 1080,
     'height_mm': 299,
     'is_primary': False,
     'width': 1920,
     'width_mm': 531,
     'x': 1920,
     'y': 0}}
pprint(general)
{'height_all_monitors': 2160,
 'max_monitor_height': 1080,
 'max_monitor_width': 1920,
 'min_monitor_height': 1080,
 'min_monitor_width': 1920,
 'width_all_monitors': 3840}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

getmonitorresolution-0.13.tar.gz (6.1 kB view hashes)

Uploaded Source

Built Distribution

getmonitorresolution-0.13-py3-none-any.whl (7.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page