[...] Récupérer le niveau de mise à l'echelle des écrans par windows 10

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
sapass
Niveau 1
Niveau 1
Messages : 9
Enregistré le : ven. 06 mai 2011 13:14
Status : Hors ligne

[...] Récupérer le niveau de mise à l'echelle des écrans par windows 10

#1

Message par sapass »

Bonjour,

Je cherche comment récupérer dans des variables ou un tableau les taux de mise à l'échelle des écrans d'un PC. En effet
je fais des scripts pour faciliter l'utilisation nos applis web pro, et celles-ci nécessitent des clics sur certains boutons qui ne sont pas faisables autrement (par TAB ou autre raccourci clavier). Mais les fonctions genre MouseClick ont besoin d'une mise à l'échelle par rapport aux coordonnées trouvées avec AUInfo.
J'ai vu dans ce post (viewtopic.php?f=3&t=15523&p=106013&hili ... ws#p106013) que la persoone qui a posté la question avait réussi à récupérer le niveau de zoom dans son tableau $aRet[0], mais malheureusement l'extrait de code qu'il met ne dit pas comment, et cet utilisateur n'existe plus sur le forum donc impossible de lui demander.

J'ai beau chercher en forum, je trouve plein de post concernant l'adaptation du code à différentes résolution d'écran, mais jamais ça gère le problème du niveau de zoom windows.

Si quelqu'un a une fonction ou connait une variable système pour récupérer ce zoom, selon l'écran (mes utilisateurs ont deux écran, de résolution différente et de zoom différent, par défaut un 1920/1080 en 125% et un 1680/1050 en 100% mais chacun peut modifier selon ses goûts), je vous en serait infiniment reconnaissant.

Merci.
--
Sapass*
l'essentiel, c'est que sapass...
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [...] Récupérer le niveau de mise à l'echelle des écrans par windows 10

#2

Message par mikell »

Hello
Pas testé sur w10 mais ça marche sur w7

Local Const $BASE_SCALING = 96
Local $iDPI = RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics", "AppliedDPI")
$res = (@error = 0) ? Round(100*$BASE_SCALING/$iDPI, 2) & " %" : -1
Msgbox(0,"", $res)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2087
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [...] Récupérer le niveau de mise à l'echelle des écrans par windows 10

#3

Message par TommyDDR »

testé à l'instant sur windows 10, il m'affiche 100% quel que soit la mise à l'échelle
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Nine
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 104
Enregistré le : ven. 17 avr. 2020 01:23
Status : Hors ligne

Re: [...] Récupérer le niveau de mise à l'echelle des écrans par windows 10

#4

Message par Nine »

Il faut redémarrer le PC si l'on change la Mise en Échelle sur W10. Testé à l'instant et ça fonctionne très bien.

PVI, j'utilisais cette technique depuis plusieurs années, mais je n'avais jamais VRAIMENT refait mes tests sur W10.
sapass
Niveau 1
Niveau 1
Messages : 9
Enregistré le : ven. 06 mai 2011 13:14
Status : Hors ligne

Re: [...] Récupérer le niveau de mise à l'echelle des écrans par windows 10

#5

Message par sapass »

Merci pour vos piste, toutefois ça ne fonctionne pas quand on a plusieurs écrans. Actuellement par exemple j'ai deux écrans en 1920*1080, l'un en zoom 150% (écran de 13') et l'autre en 100% (écran 27') et la valeur AppliedDPI en BDR affiche 90 en hexa (144 en décimal).
Vu que le panneau de config a deux valeurs, une pour chaque écran, j'imagine qu'il doit y avoir quelque part en BDR deux valeurs distinctes, une pour chaque écran, mais j'ai eu beau chercher avec pleins de mots clé (screen,display,zoom, etc..) j'ai pas encore trouvé.

C'est vraiment dommage qu'il n'y ait pas ça en variable système dans un include d'autoit :o)
--
Sapass*
l'essentiel, c'est que sapass...
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [...] Récupérer le niveau de mise à l'echelle des écrans par windows 10

#6

Message par walkson »

Bonjour,
Vous trouverez peut être votre bonheur avec https://www.autoitscript.com/forum/topi ... ation-udf/
Parmi les fonctions il y a AdjustZoom() sur "Monitor Configuration Wrapper.au3" (pas testé), peut être peut on récupérer le zoom ?
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
sapass
Niveau 1
Niveau 1
Messages : 9
Enregistré le : ven. 06 mai 2011 13:14
Status : Hors ligne

Re: [...] Récupérer le niveau de mise à l'echelle des écrans par windows 10

#7

Message par sapass »

walkson a écrit : mer. 12 juil. 2023 18:50 Bonjour,
Vous trouverez peut être votre bonheur avec https://www.autoitscript.com/forum/topi ... ation-udf/
Parmi les fonctions il y a AdjustZoom() sur "Monitor Configuration Wrapper.au3" (pas testé), peut être peut on récupérer le zoom ?
Merci pour la piste je vais voir ça.
--
Sapass*
l'essentiel, c'est que sapass...
sapass
Niveau 1
Niveau 1
Messages : 9
Enregistré le : ven. 06 mai 2011 13:14
Status : Hors ligne

Re: [...] Récupérer le niveau de mise à l'echelle des écrans par windows 10

#8

Message par sapass »

walkson a écrit : mer. 12 juil. 2023 18:50 Bonjour,
Vous trouverez peut être votre bonheur avec https://www.autoitscript.com/forum/topi ... ation-udf/
Parmi les fonctions il y a AdjustZoom() sur "Monitor Configuration Wrapper.au3" (pas testé), peut être peut on récupérer le zoom ?
Bon eh bien non, il n'y a pas cette info dans cette bibliothèque finalement. La fonction AdjustZoom est visiblement utilisable pour changer le zoom sur un video projecteur si je comprend bien :)

Mon problème reste donc entier....
--
Sapass*
l'essentiel, c'est que sapass...
Répondre