Задачу я решил, пока ждал вашего ответа, думая, что вы сможете реализовать старый вариант моего решения. Я оставил также кнопки, толком ничего не изменилось.
#NoEnv
Process, priority, , Realtime
SetBatchLines, -1
MaxIndex := 55
Gui, Font, s30 Bold, Vtks Velhos Tempos
Gui -Caption +AlwaysOnTop +E0x08000000 +Lastfound
Gui Add, Picture, x0 y0, E:\Scripts\Picture\All line v3.png
Gui Add, Text, vText x-4 y13 cff00e3 Center BackgroundTrans Hidden, % " " MaxIndex " "
Gui Add, Text, vText2 x61 y13 cff00e3 Center BackgroundTrans Hidden, % " " MaxIndex " "
Gui Add, Text, vText3 x126 y13 cff00e3 Center BackgroundTrans Hidden, % " " MaxIndex " "
Gui Add, Text, vText4 x191 y13 cff00e3 Center BackgroundTrans Hidden, % " " MaxIndex " "
Gui Add, Text, vText5 x256 y13 cff00e3 Center BackgroundTrans Hidden, % " " MaxIndex " "
Gui Add, Text, vText6 x319 y13 cff00e3 Center BackgroundTrans Hidden, % " " MaxIndex " "
Gui Add, Text, vText7 x382 y13 c3fdae4 Center BackgroundTrans Hidden, % " " MaxIndex " "
Gui Add, Text, vText8 x445 y13 c000cff Center BackgroundTrans Hidden, % " " MaxIndex " "
Gui Add, Text, vText9 x507 y13 c000cff Center BackgroundTrans Hidden, % " " MaxIndex " "
Gui Add, Text, vText10 x569 y13 cDBC935 Center BackgroundTrans Hidden, % " " MaxIndex " "
Gui Color, 0
Gui Show, NA x684 y772, GUI Window
WinSet, TransColor, 0, GUI Window
Winset, ExStyle, +0x20, GUI Window
Loop
{
IfWinActive, Paint
{
PixelSearch,,, 684 , 775 , 684 , 775 , 0xFFFFFF
if ErrorLevel = 0
{
Gui Hide
}
if ErrorLevel = 1
{
Gui Show, NA x684 y772, GUI Window
}
}
else IfWinNotActive, Paint
{
Gui Hide
}
sleep 25
}
return
~4::
ImageSearch:
PixelSearch,,, 1160 , 990 , 1160 , 990 , 0x503214, 2
if !ErrorLevel
GoTo A
PixelSearch,,, 1187 , 1000 , 1187 , 1000 , 0x1C191F, 2
if !ErrorLevel
GoTo A
PixelSearch,,, 1160 , 990 , 1160 , 990 , 0x2C2C2A, 2
if !ErrorLevel
GoTo B
PixelSearch,,, 1185 , 998 , 1185 , 998 , 0x3A2612
if !ErrorLevel
GoTo B
PixelSearch,,, 1155 , 1023 , 1155 , 1023 , 0x322114, 2
if !ErrorLevel
GoTo N
PixelSearch,,, 1164 , 983 , 1164 , 983 , 0x241A0F
if !ErrorLevel
GoTo N
PixelSearch,,, 1155 , 1023 , 1155 , 1023 , 0x121E31, 2
if !ErrorLevel
GoTo F
PixelSearch,,, 1185 , 1026 , 1185 , 1026 , 0x8F6D48
if !ErrorLevel
GoTo F
PixelSearch,,, 1167 , 999 , 1167 , 999 , 0xE7E7E7
if !ErrorLevel
GoTo W
;PixelSearch,,, 1191 , 1001 , 1191 , 1001 , 0x533314
;if !ErrorLevel
;GoTo W
ImageSearch,,, 1150, 1001, 1152, 1001, C:\Scripts\W1.bmp
if !ErrorLevel
GoTo W
PixelSearch,,, 1150 , 1025 , 1150 , 1025 , 0x351F32
if !ErrorLevel
GoTo H
PixelSearch,,, 1155 , 1011 , 1155 , 1011 , 0x312111
if !ErrorLevel
GoTo H
ImageSearch,,, 1156, 1011, 1157, 1011, C:\Scripts\e1.bmp
if !ErrorLevel
GoTo E
PixelSearch,,, 1153 , 1011 , 1153 , 1011 , 0x583157, 4
if !ErrorLevel
GoTo E
PixelSearch,,, 1178 , 1025 , 1178 , 1025 , 0x5C3517, 2
if !ErrorLevel
GoTo E
PixelSearch,,, 1159 , 986 , 1159 , 986 , 0x3F3A45
if !ErrorLevel
GoTo Y
PixelSearch,,, 1158 , 987 , 1158 , 987 , 0x423C47
if !ErrorLevel
GoTo Y
PixelSearch,,, 1169 , 1017 , 1169 , 1017 , 0x6A6D6E, 4
if !ErrorLevel
GoTo T
PixelSearch,,, 1170 , 984 , 1170 , 984 , 0x4A2E12
if !ErrorLevel
GoTo T
ImageSearch,,, 1151, 1016, 1152, 1016, C:\Scripts\C1.bmp
if !ErrorLevel
GoTo C
PixelSearch,,, 1160 , 1026 , 1160 , 1026 , 0x3C2639
if !ErrorLevel
GoTo C
PixelSearch,,, 1180 , 1003 , 1180 , 1003 , 0x472D12, 4
if !ErrorLevel
GoTo C
SetTimer, ImageSearch, -10
Return
~5::
ImageSearch2:
PixelSearch,,, 1229 , 1010 , 1229 , 1010 , 0x19354A, 2
if !ErrorLevel
GoTo A
PixelSearch,,, 1232 , 1023 , 1232 , 1023 , 0x1E160F
if !ErrorLevel
GoTo A
PixelSearch,,, 1238 , 989 , 1238 , 989 , 0x2F2C28, 4
if !ErrorLevel
GoTo B
PixelSearch,,, 1261 , 1007 , 1261 , 1007 , 0x523314, 1
if !ErrorLevel
GoTo B
PixelSearch,,, 1238 , 989 , 1238 , 989 , 0x3D211A, 3
if !ErrorLevel
GoTo N
PixelSearch,,, 1238 , 989 , 1238 , 989 , 0x251A0F
if !ErrorLevel
GoTo N
PixelSearch,,, 1238 , 989 , 1238 , 989 , 0x204753, 2
if !ErrorLevel
GoTo F
PixelSearch,,, 1226 , 1006 , 1226 , 1006 , 0x17354B, 2
if !ErrorLevel
GoTo F
PixelSearch,,, 1254 , 1023 , 1254 , 1023 , 0x683F1A
if !ErrorLevel
GoTo F
PixelSearch,,, 1266 , 997 , 1266 , 997 , 0x595856, 1
if !ErrorLevel
GoTo W
ImageSearch,,, 1228, 1001, 1229, 1001, C:\Scripts\W0.bmp
if !ErrorLevel
GoTo W
PixelSearch,,, 1226 , 1006 , 1226 , 1006 , 0x5D4F29, 2
if !ErrorLevel
GoTo W
PixelSearch,,, 1230 , 991 , 1230 , 991 , 0x2C1E12
if !ErrorLevel
GoTo H
PixelSearch,,, 1253 , 1022 , 1253 , 1022 , 0x5B3817
if !ErrorLevel
GoTo H
PixelSearch,,, 1229 , 982 , 1229 , 982 , 0x331031
if !ErrorLevel
GoTo E
PixelSearch,,, 1244 , 1011 , 1244 , 1011 , 0x666366, 2
if !ErrorLevel
GoTo E
PixelSearch,,, 1243 , 993 , 1243 , 993 , 0x271B0F
if !ErrorLevel
GoTo E
PixelSearch,,, 1254 , 1023 , 1254 , 1023 , 0x5D3B1F
if !ErrorLevel
GoTo Y
PixelSearch,,, 1246 , 988 , 1246 , 988 , 0x372411
if !ErrorLevel
GoTo Y
PixelSearch,,, 1250 , 984 , 1250 , 984 , 0x36565F
if !ErrorLevel
GoTo T
PixelSearch,,, 1235 , 993 , 1235 , 993 , 0x18364E, 2
if !ErrorLevel
GoTo T
PixelSearch,,, 1248 , 987 , 1248 , 987 , 0x4B2F12
if !ErrorLevel
GoTo T
PixelSearch,,, 1256 , 1012 , 1256 , 1012 , 0x48363B
if !ErrorLevel
GoTo C
PixelSearch,,, 1237 , 1014 , 1237 , 1014 , 0x3A2612
if !ErrorLevel
GoTo C
SetTimer, ImageSearch2, -10
return
~G::
PixelSearch,,, 1491 , 1014 , 1491 , 1014 , 0x44A375, 3
if ErrorLevel = 0
{
SetTimer, Times, Off
SetTimer, Times2, Off
SetTimer, Times3, Off
SetTimer, Times4, Off
SetTimer, Times5, Off
SetTimer, Times6, Off
SetTimer, Times7, Off
SetTimer, Times8, Off
SetTimer, Times9, Off
SetTimer, Times10, Off
SetTimer, Hide, Off
SetTimer, Hide2, Off
SetTimer, Hide3, Off
SetTimer, Hide4, Off
SetTimer, Hide5, Off
SetTimer, Hide6, Off
SetTimer, Hide7, Off
SetTimer, Hide8, Off
SetTimer, Hide9, Off
SetTimer, Hide10, Off
SetTimer, Reset, On
}
Return
Reset:
GuiControl, Hide, Text
GuiControl, Hide, Text2
GuiControl, Hide, Text3
GuiControl, Hide, Text4
GuiControl, Hide, Text5
GuiControl, Hide, Text6
GuiControl, Hide, Text7
GuiControl, Hide, Text8
GuiControl, Hide, Text9
GuiControl, Hide, Text10
SetTimer, Reset, Off
return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 1
A:
Num := MaxIndex
GuiControl, Show, Text
GoTo Times
Return
Times:
SetTimer, % Num <= 1 ? "Hide" : "Times", -985
GuiControl,, Text, % Num--
Return
Hide:
GuiControl, Hide, Text
GoSub ImageSearch
GoSub ImageSearch2
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2
B:
Num2 := MaxIndex -15
GuiControl, Show, Text2
GoTo Times2
Return
Times2:
SetTimer, % Num2 <= 1 ? "Hide2" : "Times2", -987
GuiControl,, Text2, % Num2--
Return
Hide2:
GuiControl, Hide, Text2
GoSub ImageSearch
GoSub ImageSearch2
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3
N:
Num3 := MaxIndex -35
GuiControl, Show, Text3
GoTo Times3
Return
Times3:
SetTimer, % Num3 <= 1 ? "Hide3" : "Times3", -990
GuiControl,, Text3, % Num3--
Return
Hide3:
GuiControl, Hide, Text3
GoSub ImageSearch
GoSub ImageSearch2
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4
F:
Num4 := MaxIndex -25
GuiControl, Show, Text4
GoTo Times4
Return
Times4:
SetTimer, % Num4 <= 1 ? "Hide4" : "Times4", -988
GuiControl,, Text4, % Num4--
Return
Hide4:
GuiControl, Hide, Text4
GoSub ImageSearch
GoSub ImageSearch2
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 5 -
W:
Num5 := MaxIndex -30
GuiControl, Show, Text5
GoTo Times5
Return
Times5:
SetTimer, % Num5 <= 1 ? "Hide5" : "Times5", -988
GuiControl,, Text5, % Num5--
Return
Hide5:
GuiControl, Hide, Text5
GoSub ImageSearch
GoSub ImageSearch2
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 6
H:
Num6 := MaxIndex -25
GuiControl, Show, Text6
GoTo Times6
Return
Times6:
SetTimer, % Num6 <= 1 ? "Hide6" : "Times6", -988
GuiControl,, Text6, % Num6--
Return
Hide6:
GuiControl, Hide, Text6
GoSub ImageSearch
GoSub ImageSearch2
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 7
E:
Num7 := MaxIndex -25
GuiControl, Show, Text7
GoTo Times7
Return
Times7:
SetTimer, % Num7 <= 1 ? "Hide7" : "Times7", -988
GuiControl,, Text7, % Num7--
Return
Hide7:
GuiControl, Hide, Text7
GoSub ImageSearch
GoSub ImageSearch2
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 8
Y:
Num8 := MaxIndex -40
GuiControl, Show, Text8
GoTo Times8
Return
Times8:
SetTimer, % Num8 <= 1 ? "Hide8" : "Times8", -995
GuiControl,, Text8, % Num8--
Return
Hide8:
GuiControl, Hide, Text8
GoSub ImageSearch
GoSub ImageSearch2
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 9
T:
Num9 := MaxIndex -25
GuiControl, Show, Text9
GoTo Times9
Return
Times9:
SetTimer, % Num9 <= 1 ? "Hide9" : "Times9", -988
GuiControl,, Text9, % Num9--
Return
Hide9:
GuiControl, Hide, Text9
GoSub ImageSearch
GoSub ImageSearch2
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 10
C:
Num10 := MaxIndex -20
GuiControl, Show, Text10
GoTo Times10
Return
Times10:
SetTimer, % Num10 <= 1 ? "Hide10" : "Times10", -987
GuiControl,, Text10, % Num10--
Return
Hide10:
GuiControl, Hide, Text10
GoSub ImageSearch
GoSub ImageSearch2
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+Z::Reload
Осталось кнопки добавить и решить проблему с изображениями. Не знаю почему, но такое ощущение, что некоторые изображения иногда меняют свой цвет в результате чего просто не ищутся, хотя пиксели являются рабочими.. . Я предполагаю тут три причины: 1) сам редактор(приложение) меняет их цвет; 2) AHK из-за большого объема поиска изображений не находит последние, первые всегда находятся; 3) Баг в коде языка AHK. Самое, что забавное, когда обнаруживаешь, что пиксель не работает, то делаешь новый, а через некоторое время и этот пиксель перестает работать, аналогично с поиском картинок... сижу уже так 2-3 дня, больше склоняюсь ко второму или третьему варианту, потому что, когда я делал отдельный скрипт для проверки изображений на смену ихнего цвета приложением, скрипт всегда их находил, не было такого, чтобы не находил.