我在这个线程上找到了这个代码:Suspending, Pausing, Hiding, Pulling Up GUI Window
Gui % (MainGui:=!MainGui) ? "Hide" : "Show"
是干什么的呢?我猜它是hotkeys的一种简单的if
expression,但是检查两个页面上的示例,我看不到它在哪里。
如果使用SetTimer
,则只有将该代码放入子例程中时,计数器才会增加。如果放在外面,计数器就会停止。
Gui +LastFound +AlwaysOnTop +ToolWindow -Caption
Gui, Add, Text, vcounter, 00000
Gui, Show, NoActivate
SetTimer, Update, 100 ; 100 ms
Update:
counter++
GuiControl,, counter, %counter%
^esc::Gui % (MainGui:=!MainGui) ? "Hide" : "Show"
Return
发布于 2019-04-21 16:57:39
三元运算符 v1.0.46+。此运算符是if-else语句的简写替换。它评估其左侧的条件,以确定其两个分支中的哪一个应该成为其最终结果。例如,如果x大于y,则var := x>y ?2: 3将2存储在Var中;否则,它将存储3。为了提高性能,只评估获胜的分支(请参阅短路评估)。
命令^esc::Gui % (MainGui:=!MainGui) ? "Hide" : "Show"
包含两个部分。
(MainGui:=!MainGui)
将变量MainGui
的值切换到它的相反位置,通常从True
切换到False
,反之亦然。MainGui
的值。如果为True
,则使用值Hide
;如果为False
,则使用值False
在所有评估之后,^esc::Gui % (MainGui:=!MainGui) ? "Hide" : "Show"
将转换为以下其中一项:
If Gui Show
is True
Gui Hide
Gui Show
is ==> ==>
MainGui
isTrue
==> MainGui
is False
==>简要说明:如果^esc
热键处于活动状态,则隐藏Gui;如果处于隐藏状态,则显示Gui。
https://stackoverflow.com/questions/55781043
复制相似问题