WinWaitActive 函数未按预期运行
WinWaitActive function isn't behaving as expected
我不确定我在这里做错了什么,但我有一个应用程序,其中按 ALT+ENTER 将切换到全屏。我只是希望每次我 tab 回到这个 window 时都能发生这种情况。
使用下面的代码,什么也不会发生。
#SingleInstance force
Loop
{
WinWaitActive, MyProgram
{
Send, ^{Enter}
WinWaitNotActive, MyProgram
}
}
非常感谢任何指导。
谢谢。
试试这个代码:
版本 1
StateVar := 0
Loop
{
IfWinActive, MyProgram
{
if (StateVar = 0)
{
Send, !{Enter}
StateVar := 1
}
}
else
{
StateVar := 0
}
}
版本 2
在版本 2 中仅使用 WinTitle 的一部分(在您的情况下 MyProgram
)。例如 Notepad
而不是 Untitled - Notepad
。如果您的 window 的 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
}
}
^
是Ctrl修饰符,要用!{Enter}
.
试试这个:
#SingleInstance, Force
Loop {
WinWaitActive, MyProgram
Send, !{Enter}
WinWaitNotActive, MyProgram
}
我不确定我在这里做错了什么,但我有一个应用程序,其中按 ALT+ENTER 将切换到全屏。我只是希望每次我 tab 回到这个 window 时都能发生这种情况。
使用下面的代码,什么也不会发生。
#SingleInstance force
Loop
{
WinWaitActive, MyProgram
{
Send, ^{Enter}
WinWaitNotActive, MyProgram
}
}
非常感谢任何指导。
谢谢。
试试这个代码:
版本 1
StateVar := 0
Loop
{
IfWinActive, MyProgram
{
if (StateVar = 0)
{
Send, !{Enter}
StateVar := 1
}
}
else
{
StateVar := 0
}
}
版本 2
在版本 2 中仅使用 WinTitle 的一部分(在您的情况下 MyProgram
)。例如 Notepad
而不是 Untitled - Notepad
。如果您的 window 的 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
}
}
^
是Ctrl修饰符,要用!{Enter}
.
试试这个:
#SingleInstance, Force
Loop {
WinWaitActive, MyProgram
Send, !{Enter}
WinWaitNotActive, MyProgram
}