[..] Cliquer en tâche de fond ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
spik96
Niveau 1
Niveau 1
Messages : 8
Enregistré le : dim. 03 mai 2009 21:33
Status : Hors ligne

[..] Cliquer en tâche de fond ?

#1

Message par spik96 »

Bonjour.

Ce serait pour savoir comment cliquer en tâche de fond. Pour l'instant je sais faire un clic mais on perd le contrôle sur la souris, peut-on pouvoir laisser la fenêtre sur laquelle on clique dans la barre pendant qu'on fait autre chose (aller dans les dossiers par exemple)

Meric d'avance.
fanatick
Niveau 3
Niveau 3
Messages : 30
Enregistré le : ven. 17 août 2007 15:31
Status : Hors ligne

Re: [..] Cliquer en tâche de fond ?

#2

Message par fanatick »

Cela m'interesse aussi, si quelqu'un pouvais nous le dire....
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Cliquer en tâche de fond ?

#3

Message par Iste »

Code : Tout sélectionner

Func _MouseClickPlus($Window, $Button = "left", $X = "", $Y = "", $Clicks = 1)
    Local $MK_LBUTTON = 0x0001
    Local $WM_LBUTTONDOWN = 0x0201
    Local $WM_LBUTTONUP = 0x0202

    Local $MK_RBUTTON = 0x0002
    Local $WM_RBUTTONDOWN = 0x0204
    Local $WM_RBUTTONUP = 0x0205

    Local $WM_MOUSEMOVE = 0x0200

    Local $i = 0

    Select
        Case $Button = "left"
            $Button = $MK_LBUTTON
            $ButtonDown = $WM_LBUTTONDOWN
            $ButtonUp = $WM_LBUTTONUP
        Case $Button = "right"
            $Button = $MK_RBUTTON
            $ButtonDown = $WM_RBUTTONDOWN
            $ButtonUp = $WM_RBUTTONUP
    EndSelect

    If $X = "" Or $Y = "" Then
        $MouseCoord = MouseGetPos()
        $X = $MouseCoord[0]
        $Y = $MouseCoord[1]
    EndIf

    For $i = 1 To $Clicks
        DllCall("user32.dll", "int", "SendMessage", _
                "hwnd", WinGetHandle($Window), _
                "int", $WM_MOUSEMOVE, _
                "int", 0, _
                "long", _MakeLong($X, $Y))

        DllCall("user32.dll", "int", "SendMessage", _
                "hwnd", WinGetHandle($Window), _
                "int", $ButtonDown, _
                "int", $Button, _
                "long", _MakeLong($X, $Y))

        DllCall("user32.dll", "int", "SendMessage", _
                "hwnd", WinGetHandle($Window), _
                "int", $ButtonUp, _
                "int", $Button, _
                "long", _MakeLong($X, $Y))
    Next
EndFunc  ;==>_MouseClickPlus

Func _MakeLong($LoWord, $HiWord)
    Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF))
EndFunc  ;==>_MakeLong
Je ne retrouve pas la source dsl, cherchez sur le forum anglo si vous la voulez
Signez ici
Répondre