看板 EzHotKey 關於我們 聯絡資訊
毫無基礎自行研究亂寫亂用 邏輯傷眼還請見諒 自己常用的腳本裡面有兩段 ;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://www.ptt.cc/bbs/EzHotKey/M.1629019345.A.E2B.html ※ 編輯: onlyAPU (123.192.226.167 臺灣), 08/15/2021 17:33:02
LPH66: 我猜是 #ifwinactive 的問題? 08/15 17:37
LPH66: 它宣告後直到取消為止都會作用, 取消方式是不加參數 08/15 17:37
LPH66: 然後 AHK 裡的 {} 好像只有 function 才需要 08/15 17:39
LPH66: hotkey/hotstring 不需要 {} 也行, 所以以你的用例來說 08/15 17:40
LPH66: Return 擺哪裡都沒差的樣子 08/15 17:40
LPH66: 啊, if 敘述可能也需要, 但 hotkey/hotstring 是不用沒錯 08/15 17:42
onlyAPU: 謝謝回答,目前是把2移動到整個腳本的最後面,因為發現 08/15 17:48
onlyAPU: 他也會把我寫的映射按鍵 prt+下= END給吃掉,但是其他又 08/15 17:49
onlyAPU: 不會,都執行正常,想不通這個道理 08/15 17:49
LPH66: 那看來真的跟 #ifwinactive 有關了 08/15 18:09
LPH66: 上面說取消方式是不加參數, 就是單獨一行寫 #ifwinactive 08/15 18:09
LPH66: 後面什麼都不加, 這樣在它後面的東西應該就能正常了 08/15 18:10
LPH66: 大概像這樣 https://i.imgur.com/uE5dmXc.png 08/15 18:11
onlyAPU: 謝謝回覆,剛剛把ifwinactive的參數取消,真的可以作用 08/15 18:31
onlyAPU: 但那串想限定在指定程式才能作用,請問有其他方法嗎? 08/15 18:33
onlyAPU: 我耍蠢了,我看懂了,最後再加上#ifWinactive就可以了 08/15 18:34
onlyAPU: 感謝,原來是這樣,那我要把其他部分都加上去 08/15 18:34