Что нового

Многократное выполнение скрипта нажатием кнопки

leshiy

Новичок
Сообщения
2
Репутация
0
Есть код который при запуске и нажатию "х" ищет иконку на экране и перенаправляет к ней курсор мышки и кликает по ней правой кнопкой мыши.Как бы зациклить этот процесс, что бы запустил скрипт и сидишь что то делаешь потом нажал "х" и код выполнился, затем опять сидишь что то делаешь и когда необходимо опять кликнул "х" и код опять бы выполнился и так бесконечно пока нажатием "F2" не остановишь код.
Код:
#RequireAdmin

#include "_ImageSearch_UDF.au3"
Global $is_enabled = False ;// Создаем глобальную переменную
Global $is_key = False
HotKeySet("x", "_enable") ;// Опеределяем горячие клавиши
HotKeySet("{F2}", "_disable") ;// 

;// Это наш главный цикл
While 1
   ;// Это проверка: ЕСЛИ $is_enabled = true то нажимать на клавиши
   If $is_enabled = True Then
 Global Const $iSleep_Time=500
Global $sCount = 0, $_Image_1 = @ScriptDir & "\pic.png"
    Sleep($iSleep_Time)
    $sCount += 1
    Local $return = _ImageSearch($_Image_1)
    If $return[0] = 1 Then
        ConsoleWrite('- [' & $sCount & '] Image found:' & " X=" & $return[1] & " Y=" & $return[2] & @CRLF)
            MouseMove($return[1], $return[2])
Sleep($iSleep_Time)
 MouseClick("right", $return[1], $return[2])
    Else
MsgBox(64, 'ImageSearch', 'Картинка не найдена')
EndIf
$is_enabled = False
Sleep(100)
     EndIf
WEnd

;// это функция которая включает нажатие на клавишу
Func _enable()
$is_enabled = true;
EndFunc

;//Это функция которая выключает нажатие клавиши
Func _disable()
$is_enabled = false;
EndFunc

;// Обе эти функции просто меняют значение глобальной переменной $is_enabled
 

Вложения

  • _ImageSearch_UDF.au3
    1.1 МБ · Просмотры: 2

IMStrelcov

CTPEJIbLLOB
Сообщения
258
Репутация
66
Код:
#RequireAdmin

#include "_ImageSearch_UDF.au3"

Global $iIsRun = False
Global Const $iSleep_Time=500
Global $sCount = 0, $_Image_1 = @ScriptDir & "\pic.png"

HotKeySet("x", "Run_") ;// Опеределяем горячие клавиши
HotKeySet("{F2}", "Exit_") ;//


While 1
   Sleep(250)
WEnd

Func Run_()
   If Not $iIsRun Then
      $iIsRun = True
      $sCount += 1
      Local $return = _ImageSearch($_Image_1)
      If $return[0] = 1 Then
         ConsoleWrite('- [' & $sCount & '] Image found:' & " X=" & $return[1] & " Y=" & $return[2] & @CRLF)
         MouseMove($return[1], $return[2])
         Sleep($iSleep_Time)
         MouseClick("right", $return[1], $return[2])
      Else
         MsgBox(64, 'ImageSearch', 'Картинка не найдена')
      EndIf
      $iIsRun = False
   EndIf
EndFunc

Func Exit_()
   Exit
EndFunc
 
Автор
L

leshiy

Новичок
Сообщения
2
Репутация
0
СПАСИБО!!!Все работает.
 
Последнее редактирование:
Верх