为什么重映射键会干扰 FormatTime?

Why does remapping key interfere with FormatTime?

我有这个代码:

FormatTime, CurrentYearMonth,, yyyy-MM
MsgBox, %CurrentYearMonth%
f3::Run D:\folders\%CurrentYearMonth%

a::a

F3只打开D:\folders,没有弹出消息。为了让它正常工作,我需要使用

#InputLevel 1
FormatTime, CurrentYearMonth,, yyyy-MM
MsgBox, %CurrentYearMonth%
f3::Run D:\folders\%CurrentYearMonth%

#InputLevel 0
a::a

但我不明白为什么会这样。我读到 #InputLevel and SendLevel 但我不太了解。你知道为什么吗?

我怀疑你的代码在顶部 auto-execute section of your script 之后,这意味着你的 F3 热键 (f3::) 将只执行那一行 %CurrentYearMonth% 不会被填充。您可以像这样格式化您的代码,

f3::
FormatTime, CurrentYearMonth,, yyyy-MM
MsgBox, %CurrentYearMonth%
Run D:\folders\%CurrentYearMonth%
return

F3 将 运行 从 f3::return 的所有代码。这样更容易阅读和理解。 有关 return - https://www.autohotkey.com/docs/commands/Return.htm

的更多详细信息