Hauteur de la barre des taches

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
IsLaMalice
Niveau 4
Niveau 4
Messages : 50
Enregistré le : lun. 03 avr. 2017 23:31
Status : Hors ligne

Hauteur de la barre des taches

#1

Message par IsLaMalice »

Bonjour,

Je souhaite tout simplement savoir quelle est la hauteur de ma barre des taches par une variable système...
60 pixels sur le PC du boulot, 40 sur mon fixe perso...

car je dois faire un clic a la coordonnée : @DesktopHeight- $hauteur_barre_des_taches -50

merci d'avance !

Is
Modifié en dernier par IsLaMalice le mar. 04 avr. 2017 21:18, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Hautur de la barre des taches  

#2

Message par Tlem »

Bonsoir.
En adaptant le script de ce message : https://www.autoitscript.com/forum/topi ... ent=211754
Il y a peut être plus simple, mais j'ai pas cherché plus que ce que j'ai trouvé. ^^

$hMonitor = GetMonitorFromPoint(0, 0)
If $hMonitor <> 0 Then
    Dim $arMonitorInfos[2]
    If GetMonitorInfos($hMonitor, $arMonitorInfos) Then _
        Msgbox(0, "Hauteur barre des taches", $arMonitorInfos[0] - $arMonitorInfos[1])
EndIf

Exit

Func GetMonitorFromPoint($x, $y)
    $hMonitor = DllCall("user32.dll", "hwnd", "MonitorFromPoint", _
                                            "int", $x, _
                                            "int", $y, _
                                            "int", 0x00000000)
    Return $hMonitor[0]
EndFunc


Func GetMonitorInfos($hMonitor, ByRef $arMonitorInfos)
    Local $stMONITORINFOEX = DllStructCreate("dword;int[4];int[4];dword;char[" & 32 & "]")
    DllStructSetData($stMONITORINFOEX, 1, DllStructGetSize($stMONITORINFOEX))

    $nResult = DllCall("user32.dll", "int", "GetMonitorInfo", _
                                            "hwnd", $hMonitor, _
                                            "ptr", DllStructGetPtr($stMONITORINFOEX))
    If $nResult[0] = 1 Then
        $arMonitorInfos[0] = DllStructGetData($stMONITORINFOEX, 2, 4)
        $arMonitorInfos[1] = DllStructGetData($stMONITORINFOEX, 3, 4)
    EndIf

    Return $nResult[0]
EndFunc
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
IsLaMalice
Niveau 4
Niveau 4
Messages : 50
Enregistré le : lun. 03 avr. 2017 23:31
Status : Hors ligne

Re: Hauteur de la barre des taches

#3

Message par IsLaMalice »

merci pour ta réponse rapide,

mais finalement, c'est plus intelligent de passer par un $size = WinGetPos("[active]")
et de me baser la dessus : mouseclick("left",$abscisse, size(1]+size[3]- $nbpixel_du_bord).

Comme ca, je gère tous les cas : hauteur barre de tache différente, si la fenêtre n'est pas en plein écran, ...

merci quand même, ecnore désolé pour le dérangement mais je progresse :wink:

Is
Répondre