python – obtém resolução de tela nativa

pywin32

método um

Use o método win32api.GetDeviceCaps() para obter a resolução da tela.
Use o método win32api.GetDC() para obter o identificador de contexto do dispositivo da tela inteira e, em seguida, use o método win32api.GetDeviceCaps() para obter as resoluções horizontal e vertical. Finalmente, você precisa chamar o método win32api.ReleaseDC() para liberar o identificador de contexto do 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 dois

Use o método win32api.EnumDisplayMonitors() para enumerar todos os monitores e obter suas resoluções.
Este método retorna uma lista onde cada elemento representa uma área retangular do display. A partir da área retangular, a largura e a altura da tela podem ser calculadas para determinar sua resolução.

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 três

import win32api

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

Travesseiro

Observe que este método requer a instalação do módulo Pillow. Ele pode ser instalado executando pip install Pillowo comando. Use o método grab() do módulo ImageGrab para obter uma captura de tela da tela inteira e, em seguida, leia a largura e a altura da captura de tela para obter a resolução da tela.

from PIL import ImageGrab

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

tipos

Deve-se observar que este método só é aplicável ao sistema operacional Windows e não instala nenhuma biblioteca de terceiros. Obtenha a resolução da tela chamando a função GetSystemMetrics na Biblioteca de Interface do Usuário do Windows.

import ctypes

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

janelapyget

import pygetwindow as gw

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

A execução deste código gerará a resolução da tela. Observe que pygetwindowo módulo precisa ser instalado. Ele pode ser instalado executando pip install pygetwindowo comando.

informações da tela

from screeninfo import get_monitors

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

A execução deste código gerará a resolução da tela. Observe que screeninfoo módulo precisa ser instalado. Ele pode ser instalado executando pip install screeninfoo 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}")

A execução deste código gerará a resolução da tela. Deve-se observar que tkinterele precisa funcionar corretamente em um ambiente GUI, portanto, este método pode não ser adequado para alguns aplicativos ou ambientes de servidor.

pyautogui

import pyautogui

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

A execução deste código gerará a resolução da tela.

Acho que você gosta

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