Loops 如果命令自动热键循环

Loops 如果命令自动热键循环,loops,autohotkey,Loops,Autohotkey,我的AHK循环命令有问题,希望有人能帮我解决。我每天都要连接到客户站点,并通过一些按键来验证自己。单击提交、输入等。如果我当天第一次连接到客户,我必须验证原因。当天与该客户建立的任何连接到任何其他服务器,我不需要输入原因。如果我输入了当天的原因,这个循环非常有效: #+r:: Loop { WinWait, Search - Google Chrome IfWinNotActive, Search - Google Chrome, WinActivate1817, Search - Google

我的AHK循环命令有问题,希望有人能帮我解决。我每天都要连接到客户站点,并通过一些按键来验证自己。单击提交、输入等。如果我当天第一次连接到客户,我必须验证原因。当天与该客户建立的任何连接到任何其他服务器,我不需要输入原因。如果我输入了当天的原因,这个循环非常有效:

#+r::
Loop
{
WinWait, Search - Google Chrome
IfWinNotActive, Search - Google Chrome, WinActivate1817, Search - Google Chrome
WinWaitActive, Search - Google Chrome
Sleep, 100
Send, {ENTER}
WinWait, Search Hosts - Google Chrome
IfWinNotActive, Search Hosts - Google Chrome, WinActivate, Search Hosts - Google Chrome
WinWaitActive, Search Hosts
Send, +{TAB}+{TAB}{ENTER}
}
return
这是我的问题,我还需要运行这个循环:

#+s::
Loop
{
WinWait, CRM Information
IfWinNotActive, CRM Information, WinActivate, CRM Information
WinWaitActive, CRM Information
Send, +{TAB}+{TAB}+{TAB}HPF{ENTER}
}
return
我知道我一次只能运行一个循环。基本上,我想要做的是有某种If/else语句。我总是需要运行第一个脚本,但如果这是我当天第一次连接到客户,则只需要运行第二个脚本。所以我需要把二号换成一号。我总是需要第一个运行,如果它看到CRM信息铬屏幕标题栏运行第二部分,如果它没有看到,循环回到开始

我希望这是有道理的

始终使用当前版本、新官方网站的自动热键!AutoHotkey.com上的AutoHotkey已经过时,运行脚本时可能会遇到一些问题

如果我理解正确,您需要在任何时候按热键运行第一个脚本,但只有在第一次按热键时才运行第二个脚本。我做了一个脚本,在你运行它之后,它会在你第一次按下热键后执行第一个和第二个脚本。所有后续热键按下将仅执行第一个脚本。下面是脚本:

runcounter:=0

#+r::
Loop
{
    WinWait, Search - Google Chrome
    IfWinNotActive, Search - Google Chrome, WinActivate1817, Search - Google Chrome
    WinWaitActive, Search - Google Chrome
    Sleep, 100
    Send, {ENTER}
    WinWait, Search Hosts - Google Chrome
    IfWinNotActive, Search Hosts - Google Chrome, WinActivate, Search Hosts - Google Chrome
    WinWaitActive, Search Hosts
    Send, +{TAB}+{TAB}{ENTER}

    runcounter:= runcounter + 1

    if (runcounter = 1)
    {
        Loop
        {
            WinWait, CRM Information
            IfWinNotActive, CRM Information, WinActivate, CRM Information
            WinWaitActive, CRM Information
            Send, +{TAB}+{TAB}+{TAB}HPF{ENTER}
        }
    }

}
return
编辑 从评论中我了解到您有3个脚本。第一个是搜索-谷歌浏览器,第二个是搜索主机-谷歌浏览器,第三个是CRM信息。现在您需要在脚本第一次运行时运行,以运行所有三个脚本1、2、3。所有后续运行应仅运行第一个脚本。这就是你想要脚本做的吗?下面是它的代码:

runcounter:=0

#+r::
Loop
{
    WinWait, Search - Google Chrome
    IfWinNotActive, Search - Google Chrome, WinActivate1817, Search - Google Chrome
    WinWaitActive, Search - Google Chrome
    Sleep, 100
    Send, {ENTER}

    runcounter:= runcounter + 1

    if (runcounter = 1)
    {
        Loop
        {

            WinWait, Search Hosts - Google Chrome
            IfWinNotActive, Search Hosts - Google Chrome, WinActivate, Search Hosts - Google Chrome
            WinWaitActive, Search Hosts
            Send, +{TAB}+{TAB}{ENTER}

            WinWait, CRM Information
            IfWinNotActive, CRM Information, WinActivate, CRM Information
            WinWaitActive, CRM Information
            Send, +{TAB}+{TAB}+{TAB}HPF{ENTER}
        }
    }

}
return

它帮助我保持球滚动,但不完全是我所寻找的。基本上,有3个可能的屏幕可以显示。搜索-谷歌Chrome是第一个,并将始终出现,搜索主机-谷歌Chrome是第二个,并将始终出现,CRM信息是第三个,只有第一次连接到客户的一天才会出现。所以我总是希望循环转到1>2返回到1,但如果第一次连接到客户并返回到1,我希望循环转到t1>2>3当然,这有帮助吗?@user1879840我编辑了我的答案。请看下面我的答案。这就是你想要脚本做的吗?