1 (изменено: guildkafra, 2019-08-18 12:27:32)

Тема: AHK: Функция не возвращает ErrorLevel отличный от нуля.

При отсутствии изображения на экране, функция должна выполнить условие, но она возвращает только ErrorLevel = 0 (все остальные ErrorLevel отличные от нуля он игнорирует)
До этого использовал " #Include functions.ahk ", встретился точно с такой же проблемой, пришлось поэтапно разбирать что не так. (Могу скинуть предыдущие попытки, чтобы мне смогли их также разъяснить)

#SingleInstance, Force
SetWorkingDir, %A_ScriptDir%

$!q::
    ifWinActive, ahk_class TestWindow ; (Наименование класса не важно, должно подходить любое окно по желанию)
        Loop
        {    
        Sleep, 15    
        IfWinNotActive, ahk_class TestWindow ; (Наименование класса не важно, должно подходить любое окно по желанию)
            break   
        
        Sleep, 100
        if GetKeyState("=", "P") 
            break
        
        CoordMode, Pixel, Screen
        CoordMode, Mouse, Screen
        
        imagepath = D:\AHK\Test\TestImage.png
        SearchImage (imagepath)
            if (ErrorLevel = 2)
                MsgBox Could not conduct the search.
            else if (ErrorLevel = 1)
                {
                    Send, {F8}
                    Sleep, 25
                }  
        
        setkeydelay 0 
        #MaxHotKeysPerInterval 2500 
        }
    return
return

SearchImage (imagepath)
{
    
ImageSearch, FoundX, FoundY, 1855, 187, 1950, 1024, *50 %imagepath% ; Ищет изображение в правой части экрана.
return Errorlevel

}

2

Re: AHK: Функция не возвращает ErrorLevel отличный от нуля.

guildkafra, ничего не понятно. Вижу функцию, но так, как тут, она работать не может, между названием и круглыми скобками пробела быть не должно.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

3

Re: AHK: Функция не возвращает ErrorLevel отличный от нуля.

Спасибо большое, исправил, все работает с: