Python: obtiene resolución de pantalla nativa

pywin32

método uno

Utilice el método win32api.GetDeviceCaps() para obtener la resolución de la pantalla.
Utilice el método win32api.GetDC() para obtener el identificador de contexto del dispositivo de toda la pantalla y luego utilice el método win32api.GetDeviceCaps() para obtener las resoluciones horizontal y vertical. Finalmente, debe llamar al método win32api.ReleaseDC() para liberar el identificador de contexto del dispositivo.

	import win32api
	import win32con
	
	hdc = win32api.GetDC(0)
	screen_width = win32api.GetDeviceCaps(hdc, win32con.HORZRES)
	screen_height = win32api.GetDeviceCaps(hdc, win32con.VERTRES)
	win32api.ReleaseDC(0, hdc)
	print(f"屏幕分辨率为:{screen_width} x {screen_height}")

Método dos

Utilice el método win32api.EnumDisplayMonitors() para enumerar todos los monitores y obtener sus resoluciones.
Este método devuelve una lista donde cada elemento representa un área rectangular de la pantalla. A partir del área rectangular, se puede calcular el ancho y el alto de la pantalla para determinar su resolución.

import win32api
import win32con

def get_monitor_info():
monitors = []
monitor_enum_proc = lambda hMonitor, hdcMonitor, lprcMonitor, dwData: monitors.append(lprcMonitor)
win32api.EnumDisplayMonitors(None, None, monitor_enum_proc, 0)
return monitors

monitors = get_monitor_info()
for i, monitor in enumerate(monitors):
width = monitor[2] - monitor[0]
height = monitor[3] - monitor[1]
print(f"第{i+1}个显示器分辨率为:{width} x {height}")

método tres

import win32api

screen_width = win32api.GetSystemMetrics(0)
screen_height = win32api.GetSystemMetrics(1)
print(f"屏幕分辨率为:{screen_width} x {screen_height}")

Almohada

Tenga en cuenta que este método requiere que esté instalado el módulo Pillow. Se puede instalar ejecutando pip install Pillowel comando. Utilice el método grab() del módulo ImageGrab para obtener una captura de pantalla de toda la pantalla, luego lea el ancho y el alto de la captura de pantalla para obtener la resolución de la pantalla.

from PIL import ImageGrab

screen = ImageGrab.grab()
screen_width, screen_height = screen.size
print(f"屏幕分辨率为:{screen_width} x {screen_height}")

tipos de c

Cabe señalar que este método sólo es aplicable al sistema operativo Windows y no instala ninguna biblioteca de terceros. Obtenga la resolución de la pantalla llamando a la función GetSystemMetrics en la biblioteca de interfaz de usuario de Windows.

import ctypes

user32 = ctypes.windll.user32
screen_width = user32.GetSystemMetrics(0)
screen_height = user32.GetSystemMetrics(1)
print(f"屏幕分辨率为:{screen_width} x {screen_height}")

ventanapyget

import pygetwindow as gw

screen = gw.getWindowsWithTitle('')[0]
screen_width, screen_height = screen.size
print(f"屏幕分辨率为:{screen_width} x {screen_height}") 

La ejecución de este código generará la resolución de la pantalla. Tenga en cuenta que pygetwindowes necesario instalar el módulo. Se puede instalar ejecutando pip install pygetwindowel comando.

información de pantalla

from screeninfo import get_monitors

for m in get_monitors():
print(f"屏幕分辨率为:{m.width} x {m.height}")

La ejecución de este código generará la resolución de la pantalla. Tenga en cuenta que screeninfoes necesario instalar el módulo. Se puede instalar ejecutando pip install screeninfoel comando.

tkinter

import tkinter as tk

root = tk.Tk()
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
print(f"屏幕分辨率为:{screen_width} x {screen_height}")

La ejecución de este código generará la resolución de la pantalla. Cabe señalar que tkinterdebe funcionar correctamente en un entorno GUI, por lo que este método puede no ser adecuado para algunas aplicaciones o entornos de servidor.

pyautogui

import pyautogui

screen_width, screen_height = pyautogui.size()
print(f"屏幕分辨率为:{screen_width} x {screen_height}")

La ejecución de este código generará la resolución de la pantalla.

Supongo que te gusta

Origin blog.csdn.net/weixin_44634704/article/details/129794113
Recomendado
Clasificación