作者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/cn.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