作者onlyAPU (Nothing)
看板EzHotKey
標題[AHK-] 腳本內函數順序的問題求解惑
時間Sun Aug 15 17:22:23 2021
毫無基礎自行研究亂寫亂用
邏輯傷眼還請見諒
自己常用的腳本裡面有兩段
;1
;;今天日期
::d1::
{
d = %A_YYYY%%A_MM%%A_DD%
Send %d%_
}
return
;2
#ifwinactive ahk_exe Wox.exe
::lr::
{
__title := "賣價"
__text := "輸入賣價 A"
InputBox, A,%__title%,%__text%,,400,150
__title := "成本"
__text := "輸入成本 B"
InputBox, B,%__title%,%__text%,,400,150
myvar1 := A-B
myvar2 := myvar1/A
Msgbox % "利潤" . myvar2
}
Return
發現如果是 1放在2之前,#1就可以正常作用
但是如果反過來 2放在1之前,1就無法作用
想請問
1.哪裡寫法有問題呢
2.另外想請問return的正確位置應該放在哪?
是
(
return
)
還是
(
)
return
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.226.167 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/EzHotKey/M.1629019345.A.E2B.html
※ 編輯: onlyAPU (123.192.226.167 臺灣), 08/15/2021 17:33:02
2F:→ LPH66: 它宣告後直到取消為止都會作用, 取消方式是不加參數 08/15 17:37
3F:→ LPH66: 然後 AHK 裡的 {} 好像只有 function 才需要 08/15 17:39
4F:→ LPH66: hotkey/hotstring 不需要 {} 也行, 所以以你的用例來說 08/15 17:40
5F:→ LPH66: Return 擺哪裡都沒差的樣子 08/15 17:40
6F:→ LPH66: 啊, if 敘述可能也需要, 但 hotkey/hotstring 是不用沒錯 08/15 17:42
7F:→ onlyAPU: 謝謝回答,目前是把2移動到整個腳本的最後面,因為發現 08/15 17:48
8F:→ onlyAPU: 他也會把我寫的映射按鍵 prt+下= END給吃掉,但是其他又 08/15 17:49
9F:→ onlyAPU: 不會,都執行正常,想不通這個道理 08/15 17:49
11F:→ LPH66: 上面說取消方式是不加參數, 就是單獨一行寫 #ifwinactive 08/15 18:09
12F:→ LPH66: 後面什麼都不加, 這樣在它後面的東西應該就能正常了 08/15 18:10
14F:→ onlyAPU: 謝謝回覆,剛剛把ifwinactive的參數取消,真的可以作用 08/15 18:31
15F:→ onlyAPU: 但那串想限定在指定程式才能作用,請問有其他方法嗎? 08/15 18:33
16F:→ onlyAPU: 我耍蠢了,我看懂了,最後再加上#ifWinactive就可以了 08/15 18:34
17F:→ onlyAPU: 感謝,原來是這樣,那我要把其他部分都加上去 08/15 18:34