PrevActiveClass被賦值,下面的代碼不會激活PrevActiveClass(盡管該語法對賦值有效):
但是下面的方法可以激活 為什么第一個片段不作業,以及如何在一行代碼中實作相同的邏輯?
uj5u.com熱心網友回復: 當你使用三元組時,你就在一個運算式中。 遺留命令只能在遺留陳述句中使用,所以更明確地說,只能在新行的開始(正常情況下)。 你現在要做的,是將三個變數連接在一起(并丟棄結果),分別是PrevActiveClass ?
PrevActiveClass ? WinActivate ahk_class %PrevActiveClass%。
PrevActiveClass:如果(PrevActiveClass){
WinActivate ahk_class %PrevActiveClass%。
}
WinActivate、ahk_class和一個動態變數PrevActiveClass。
如何在一行代碼中實作相同的邏輯?
你不能。
你能做的最好的事情是兩行:
你能做的最好的事情是兩行。
如果(PrevActiveClass)
WinActivate, % "ahk_class " PrevActiveClass
(我改用了運算式,在傳統的語法中也可以使用,但是哎,傳統的語法)
<技術上,你當然可以這樣做:
WinActivate, % PrevActiveClass ? "ahk_class " PrevActiveClass : "NonExistentWindow" 。
但是這將是一個非常愚蠢的設計。
另外,你可以定義你自己的函式來激活一個視窗,然后在你的運算式中呼叫它:
PrevActiveClass : "NonExistentWindow"
但這將是非常愚蠢的設計。
PrevActiveClass ? WinActivateFunc("ahk_class " PrevActiveClass)
WinActivateFunc(WinTitle := "", WinText := "", ExcludeTitle := "", ExcludeText := "" )
{
WinActivate, % WinTitle, % WinText, % ExcludeTitle, % ExcludeText
}
有些人實際上是這樣做的,這樣他們就可以在線使用傳統的命令。
我知道有一些人制作了一些庫,為每一個(?
你應該可以從AHK論壇上找到一個。
此外,我想AHKv2也值得一提,因為V2中根本沒有傳統的語法。 這個問題在那里是不存在的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/314483.html
標籤:
