Bonjour Bonsoir !!

Je galère depuis une semaine sur un truc d'apparence simplette

Dans un de mes programmes, j'ai besoin de connaitre le nombre de pixels qu'il y a sur l'écran, je cherche donc a connaitre sa résolution.

J'ai tellement eu de problèmes que j'ai essayé 6façons différentes, qui donnent des fois des résultats équivalent et d'autres fois, des résultats différents.

Mes résultats différent entre 1920*1080 et 1536*864, la première étant la résolution que j'ai paramétré avec la personnalisation windows

Voici les cinq codes que j'ai trouvé/fait :



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
import tkinter
root = tkinter.Tk()
largeur = root.winfo_screenwidth()
hauteur = root.winfo_screenheight()

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
print(largeur,hauteur)
from win32api import GetSystemMetrics
print("Width =", GetSystemMetrics(0))
print("Height =", GetSystemMetrics(1))


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
from screeninfo import get_monitors
resolution = get_monitors()[0]
print(resolution)


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
import ctypes
user32 = ctypes.windll.user32
screensize = user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)
print(screensize)


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
import wx
app = wx.App(False) # the wx.App object must be created first.    
print(wx.GetDisplaySize())  # returns a tuple


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
import pyautogui
 z = pyautogui.size()
print(z)


Ces 6 codes ne me retournent pas tout le temps les mêmes valeurs, au démarrage de l'ordi et de mon IDE, les trois codent retournent 1536*864

Après le lancement d'un autre de mes programmes, qui me permet de détecter la position (x,y) de ma souris après un clic, les valeurs changent,

certains programmes me renvoient 1920*1080 et d'autres ne changent pas et restent sur 1536*864...

j'aimerais donc bien savoir pourquoi ces données changent et ne m'affichent pas la bonne valeur directement !


Si vous avez une idée, une proposition, une question, je suis là
Merci d'avance