Тема: AHK: Почему в этом коде кнопка не зажимается?
Что не так с этим местом?
; Кнопки, что будут нажиматься: (определение по названию файла - добавить остальные)
If File_Name = 1.jpg
{
Send {Space down}
Sleep 2000
Send {Space up}
}
Else If File_Name = 2.jpg
{
Send {B down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {B up} ; Отпустить.
}
Else If File_Name = 3.jpg
{
Send {K down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {K up} ; Отпустить.
}
If else File_Name = 4.jpg
{
Send {Down down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Down up} ; Отпустить.
}
If else File_Name = 5.jpg
{
Send {Right down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Right up} ; Отпустить.
}
If else File_Name = 6.jpg
{
Send {Left down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Left up} ; Отпустить.
}
If else File_Name = 7.jpg
{
Send {F down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {F up} ; Отпустить.
}
If else File_Name = 8.jpg
{
Send {S down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {S up} ; Отпустить.
}
If else File_Name = 9.jpg
{
Send {H down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {H up} ; Отпустить.
}
If else File_Name = 10.jpg
{
Send {Z down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Z up} ; Отпустить.
}
If else File_Name = 11.jpg
{
Send {Shift down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Shift up} ; Отпустить.
}
If else File_Name = 12.jpg
{
Send {J down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {J up} ; Отпустить.
}
If else File_Name = 13.jpg
{
Send {D down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {D up} ; Отпустить.
}
If else File_Name = 14.jpg
{
Send {L down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {L up} ; Отпустить.
}
If else File_Name = 15.jpg
{
Send {Up down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Up up} ; Отпустить.
}
If else File_Name = 16.jpg
{
Send {V down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {V up} ; Отпустить.
}
ToolTip
Return
}
Вот полный код.
; Путь, где хранятся картинки для поиска:
Dir = C:\Users\venat\Desktop\Новая папка (3)
; Список где названия картинок с расширением, в качестве делителя строки будет символ '-'
List = 1.jpg-2.jpg-3.jpg-4.jpg-5.jpg-6.jpg-7.jpg-8.jpg-9.jpg-10.jpg-11.jpg-12.jpg-13.jpg-14.jpg-15.jpg-16.jpg
; Время ожидания перед очередным поиском картинок: (указываем в мс)
Time := 2500 ; 0.5 секунд
;Time := 1000* 15 ; 15 секунд (можно так)
Return
; F4 - Кнопка запуска таймера, который будет запускать метку 'Search' каждое 'Time' время:
F4::
SetTimer, Search, %Time%
Return
; F5 - Кнопка выключения таймера
F5::
SetTimer, Search, Off
ToolTip, Поиск картинок выключен.
Sleep, 3000
ToolTip
Return
Search:
Loop, parse, List, -
{
File_Name := A_LoopField
ImageSearch, Coordinate_X, Coordinate_Y, 0, 0, A_ScreenWidth, A_ScreenHeight, *100 %Dir%\%File_Name%
If ErrorLevel = 0 ; Если картинка найдена:
{
MouseMove, %Coordinate_X%, %Coordinate_Y%, 0 ; Переместить мышь на картинку
ToolTip, Найдена: %File_Name%`nПозиция: %Coordinate_X%`, %Coordinate_Y% ,0,0
Sleep, 1000
; Кнопки, что будут нажиматься: (определение по названию файла - добавить остальные)
If File_Name = 1.jpg
{
Send {Space down}
Sleep 2000
Send {Space up}
}
Else If File_Name = 2.jpg
{
Send {B down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {B up} ; Отпустить.
}
Else If File_Name = 3.jpg
{
Send {K down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {K up} ; Отпустить.
}
If else File_Name = 4.jpg
{
Send {Down down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Down up} ; Отпустить.
}
If else File_Name = 5.jpg
{
Send {Right down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Right up} ; Отпустить.
}
If else File_Name = 6.jpg
{
Send {Left down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Left up} ; Отпустить.
}
If else File_Name = 7.jpg
{
Send {F down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {F up} ; Отпустить.
}
If else File_Name = 8.jpg
{
Send {S down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {S up} ; Отпустить.
}
If else File_Name = 9.jpg
{
Send {H down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {H up} ; Отпустить.
}
If else File_Name = 10.jpg
{
Send {Z down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Z up} ; Отпустить.
}
If else File_Name = 11.jpg
{
Send {Shift down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Shift up} ; Отпустить.
}
If else File_Name = 12.jpg
{
Send {J down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {J up} ; Отпустить.
}
If else File_Name = 13.jpg
{
Send {D down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {D up} ; Отпустить.
}
If else File_Name = 14.jpg
{
Send {L down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {L up} ; Отпустить.
}
If else File_Name = 15.jpg
{
Send {Up down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {Up up} ; Отпустить.
}
If else File_Name = 16.jpg
{
Send {V down} ; Нажать клавишу "Стрелка вверх".
Sleep 2000 ; Держать её нажатой 1 секунду.
Send {V up} ; Отпустить.
}
ToolTip
Return
}
If ErrorLevel = 2
{
MsgBox, 8256, ERROR: Ошибка поиска, Не удалось провести поиск. Отсутствует файл %File_name%
Return
}
Else if ErrorLevel = 1
{
ToolTip, Картинка %File_name%`nне найдена ,0,0
Sleep, 1000
ToolTip
}
}
Return