如何从Autohotkey中的if / else块内返回?

时间:2013-08-06 02:03:10

标签: autohotkey

以下是我使用的代码段。如果您在浏览器中执行某些操作,则应检测到您当前在浏览器中并将URL复制到剪贴板。如果您不在浏览器中,那么由于没有URL,因此不存在这样做的问题。

无论我使用什么浏览器,第一个MessageBox总是输出值0.但是,函数内的MessageBox永远不会被激活,即“未检测到浏览器”消息永远不会显示。因此,该值不能为零,但当我在记事本中时,if函数仍然会被处理。

if (Retrieve_Browser_Type <> 0) 
    {
        Send, {F6}
        Send, ^{ins}
        URL = %clipboard%
        MsgBox, % Retrieve_Browser_type
        MsgBox, URL copied: %URL%
    }

Retrieve_Browser_Type() {
    IfWinActive, ahk_class MozillaWindowClass return 1
    IfWinActive, ahk_class Maxthon3Cls_MainFrm return 2
    IfWinActive, ahk_class IEFrame return 3
    IfWinActive, ahk_class Chrome_WidgetWin_1 return 4
    MsgBox, No browser detected
    return 0
}

1 个答案:

答案 0 :(得分:0)

这是编译器没有检测到的语法错误。 而不是:

IfWinActive, ahk_class MozillaWindowClass return 1  

你应该写:

IfWinActive, ahk_class MozillaWindowClass 
return 1