AHK(AutoHotKey):将焦点从 InputBox 移开
AHK (AutoHotKey): Taking focus away from InputBox
调用后立即:
inputbox,inv,Scan Invoice Number:
我想将焦点从输入框转移到另一个 window,但它的行为与预期不符,在转到下一行代码之前等待用户输入。有什么方法可以覆盖此行为吗?
InputBox
使当前线程等待用户输入并因此挂起线程。在其他语言中,您会说 Thread 终止并且 ActionListener 开始侦听。多线程本身不能通过直接在 AutoHotkey 中调用新线程来主动实现,但是,您可以,如 documentation 中所述,使用热键或定时子程序启动线程。
我自己想出了以下解决方案几次,据我所知这是最干净的方法:
setTimer, continueAfterInputbox, -100 ; a negative period indicates "run once only", after a sleep of 100 ms in this case
inputbox, inv, Scan Invoice Number:
;; do things with %inv%
Return
continueAfterInputbox:
msgbox, do other cool things
return
调用后立即:
inputbox,inv,Scan Invoice Number:
我想将焦点从输入框转移到另一个 window,但它的行为与预期不符,在转到下一行代码之前等待用户输入。有什么方法可以覆盖此行为吗?
InputBox
使当前线程等待用户输入并因此挂起线程。在其他语言中,您会说 Thread 终止并且 ActionListener 开始侦听。多线程本身不能通过直接在 AutoHotkey 中调用新线程来主动实现,但是,您可以,如 documentation 中所述,使用热键或定时子程序启动线程。
我自己想出了以下解决方案几次,据我所知这是最干净的方法:
setTimer, continueAfterInputbox, -100 ; a negative period indicates "run once only", after a sleep of 100 ms in this case
inputbox, inv, Scan Invoice Number:
;; do things with %inv%
Return
continueAfterInputbox:
msgbox, do other cool things
return