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 Pillow
el 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 pygetwindow
es necesario instalar el módulo. Se puede instalar ejecutando pip install pygetwindow
el 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 screeninfo
es necesario instalar el módulo. Se puede instalar ejecutando pip install screeninfo
el 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 tkinter
debe 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.