Что нового

[Мышь, клавиатура] Как сделать, чтоб скрипт кликал только в указанном окне и не блокировал хоткеи?

vlv993

Новичок
Сообщения
20
Репутация
0
Как сделать, чтоб скрипт кликал только в указанном окне и не блокировал хоткеи, которые используются в этом скрипте в других приложениях? В таком виде он кликает в любом окне. Обязательно привязывать по имени процесса, потому как имя окна каждый раз может меняться. В данном случае хоткеями выступают цифры нампада, и в других приложениях они не работают, даже в блокноте.

Код:
Global $gameclient = WinGetHandleByExe('RF3.exe') ; Имя процесса
Global $play = WinExists($gameclient)
Global $paused

Func WinGetHandleByExe($Exe)
    Local $aPList = ProcessList($Exe)
    Local $aWList = WinList()
    For $w = 1 To UBound($aWList, 1) - 1
        For $p = 1 To UBound($aPList, 1) - 1
            If WinGetProcess($aWList[$w][1]) = $aPList[$p][1] Then
                If BitAND(WinGetState($aWList[$w][1]), 2) Then Return $aWList[$w][1]
            EndIf
        Next
    Next
EndFunc



Opt("PixelCoordMode", 2)

$button = "left" ;right - ПКМ; left - ЛКМ
$x1 = 255;координата х1
$y1 = 182;координата у1
$x2 = 194;координата х2
$y2 = 357;координата у2
$x3 = 179;координата х3
$y3 = 309;координата у3
$clicks = 1 ;количество кликов
$speed = 0 ;скорость перемещения курсора 0-мгновенно
HotKeySet("{ESC}", "Terminate") ;горячая клавиша - выход при нажатии ESC
HotKeySet("{NUMPAD4}", "Mouse_Click1") ; горячая клавиша - клик при нажатии
HotKeySet("{NUMPAD5}", "Mouse_Click2") ; горячая клавиша - клик при нажатии
HotKeySet("{NUMPAD6}", "Mouse_Click3") ; горячая клавиша - клик при нажатии
HotKeySet("{NUMPAD7}", "SetCoord1") ; горячая клавиша - получение координат
HotKeySet("{NUMPAD8}", "SetCoord2") ; горячая клавиша - получение координат
HotKeySet("{NUMPAD9}", "SetCoord3") ; горячая клавиша - получение координат
While 1
    Sleep(100)
WEnd

Func Terminate()
    Exit 0
 EndFunc

 Func SetCoord1()
    $aCoord=MouseGetPos()
    $x1 = $aCoord[0]
    $y1 = $aCoord[1]
EndFunc
Func SetCoord2()
    $aCoord=MouseGetPos()
    $x2 = $aCoord[0]
    $y2 = $aCoord[1]
EndFunc
Func SetCoord3()
    $aCoord=MouseGetPos()
    $x3 = $aCoord[0]
    $y3 = $aCoord[1]
EndFunc

Func Mouse_Click1()
    MouseClick($button, $x1, $y1, $clicks, $speed)
EndFunc
Func Mouse_Click2()
    MouseClick($button, $x2, $y2, $clicks, $speed)
EndFunc
Func Mouse_Click3()
    MouseClick($button, $x3, $y3, $clicks, $speed)
EndFunc
 
Верх