jph a écrit : sam. 23/juil./2022 16:37
Tu a aussi la possibilité de faire:
Code : Tout sélectionner
Define temp.i = OpenWindow(#PB_Any, ExamineDesktops(), 0, 0, 0, "", #PB_Window_Maximize | #PB_Window_BorderLess | #PB_Window_Invisible)
Debug DesktopWidth(0)
Debug DesktopHeight(0
CloseWindow(temp)
J'ai trouvé ça sur un de ces forums, et ça a l'avantage de fonctionner sous Linux également. Alors que l'on ne peux cocher l'option DPI que sous Windows.
Quelle idée bizarre ? cela ne n'a pour effet que de définir le x de la fenêtre au nombre de bureaux disponibles (?!). ExamineDesktops() retournera au minimum 1.
Pour avoir la taille du bureau il n'est même pas nécessaire d'ouvrir une fenêtre
Code : Tout sélectionner
ExamineDesktops()
Debug DesktopWidth(0)
Debug DesktopHeight(0)
Cela fonctionne aussi sous Linux et même en VM.
Les fonctions DPI aware (Windows seulement) ne servent pas qu'à donner un facteur d'échelle, elles permettent de différencier les éléments qui ne doivent pas être mis à l'échelle dans une interface. Windows lui-même se charge de mettre à l'échelle ou pas certains widgets (ex: le texte d'un bouton, mais pas le bouton lui-même). Explications sur le site MS.
