WinWaitActive函数没有按预期运行

时间:2015-05-01 18:07:15

标签: loops autohotkey

我不确定我在这里做错了什么,但我有一个应用程序,其中按 ALT + ENTER 将切换到全屏。我只是希望每次 tab 回到此窗口时都会发生这种情况。

使用以下代码,根本没有任何事情发生。

#SingleInstance force
Loop
{
WinWaitActive, MyProgram
{
Send, ^{Enter}
WinWaitNotActive, MyProgram
}
}

非常感谢任何指导 谢谢。

2 个答案:

答案 0 :(得分:2)

^ Ctrl 修饰符,您要使用!{Enter}

试试这个:

#SingleInstance, Force
Loop {
    WinWaitActive, MyProgram
    Send, !{Enter}
    WinWaitNotActive, MyProgram
}

答案 1 :(得分:0)

试试这段代码:

版本1

StateVar := 0
Loop
{
    IfWinActive, MyProgram
    {
        if (StateVar = 0)
        {
            Send, !{Enter}
            StateVar := 1
        }
    }
    else
    {
        StateVar := 0
    }
}




版本2
仅在版本2中使用WinTitle的一部分(在您的情况下为MyProgram)。例如Notepad而不是Untitled - Notepad。如果窗口的Wintitle发生变化,这会很有帮助。

SetTitleMatchMode, 2
StateVar := 0
Loop
{
    IfWinActive, MyProgram
    {
        if (StateVar = 0)
        {
            Send, !{Enter}
            StateVar := 1
        }
    }
    else
    {
        StateVar := 0
    }
}




版本3

SetTitleMatchMode, 2
    StateVar := 0
    Loop
    {
        IfWinActive, MyProgram
        {
            if (StateVar = 0)
            {
                ControlSend,, !{Enter}, MyProgram
                StateVar := 1
            }
        }
        else
        {
            StateVar := 0
        }
    }