Problem mit Hotkey festlegen !

  • Hi Leute ! Habe folgendes Problem !
    Möchte das mein Script auf den Mouseclick ausführt wenn man auf "Q" drückt.
    Und das immer wieder,immer wenn man auf Q drückt,das er diesn einen klick macht...
    Ich bitte um hilfe,habe mir die Funktion schon angesehen aber nicht verstanden !
    Wäre nett wenn mir jemand hilft ;)

    Hier ist mein Script

    Danke im vorraus !

  • so? :

    Spoiler anzeigen
    [autoit]

    HotKeySet("q","Click_It")
    HotKeySet("{ESC}","_exit")
    Opt("MouseCoordMode", 0)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Click_It()
    _mouseclickplus( "Diablo II", "left", 320, 460, 1 )
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _exit()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

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

    [/autoit] [autoit][/autoit] [autoit]

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

    [/autoit] [autoit][/autoit] [autoit]

    Local $WM_MOUSEMOVE = 0x0200

    [/autoit] [autoit][/autoit] [autoit]

    Local $i = 0

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    If $x = "" Or $y = "" Then
    $MouseCoord = MouseGetPos()
    $x = $MouseCoord[0]
    $y = $MouseCoord[1]
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

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

    [/autoit] [autoit][/autoit] [autoit]

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

    [/autoit] [autoit][/autoit] [autoit]

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

    [/autoit] [autoit][/autoit] [autoit]

    Func _MakeLong($LoWord, $HiWord)
    Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF))
    EndFunc ;==>_MakeLong

    [/autoit]

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.