看板 EzHotKey 關於我們 聯絡資訊
舉例: i就是123 o是5 快速按下i o時 i的123只出來12 然後就被5中斷 由於o是keywait 所以o沒放開 不但3出不來 而且i無法再輸入 完全卡住 請問要如何解決這種衝突狀況? 1. 能不能讓3照預定程序輸入 或是有沒有辦法直接取消掉? 2. keywait按住之下 如何讓卡住的key恢復功能? i:: sleep 10 send {1 down} sleep 10 send {1 up} sleep 10 send {2 down} sleep 10 send {2 up} sleep 10 send {3 down} sleep 10 send {3 up} return o:: sleep 10 send {5 down} sleep 10 keywait, o send {5 up} return -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.174.77 ※ 文章網址: https://www.ptt.cc/bbs/EzHotKey/M.1432603476.A.1E5.html
mkz6: 改用sendinput試試 05/26 09:57
edwin96017: 借問 send 3 跟send{3 up/down} 有什麼差別嘛? 05/28 20:45
mkz6: 看keyhistory就知道send key其實就是送出{key down}{key up} 05/28 22:13
mkz6: 但是實際使用上可能會受不同環境(程式/遊戲)影響 05/28 22:18
mkz6: 可參考 http://ahkcn.sourceforge.net/docs/FAQ.htm#games 05/28 22:20
bodhi: 試過了 沒有用.... 還有甚麼辦法嗎? 05/31 10:05
mkz6: 我試過可以送出1253/1523, f5按住不放再按f1也可以送出123 05/31 20:43
bodhi: 請問你是不是把F5改成別的key 而忘了改keywait, F5? 06/01 01:38
bodhi: 因為我又重新測試一次 還是不行 如果keywait改成別的key則 06/01 01:38
bodhi: 可以 但是這樣就不是wait F5了 06/01 01:39
mkz6: 我直接複製你內文,只把send全部用sendinput取代下去測試的 06/01 09:51
bodhi: 難道有甚麼誤會嗎? 還是鍵盤有影響? 我怎麼連按就是會卡住 06/01 18:01
bodhi: 我把F1/F5改成其他key試也一樣不行... 我這篇改成i/o key吧 06/01 18:02
※ 編輯: bodhi (1.163.175.12), 06/01/2015 18:04:29
mkz6: 仔細重看一遍發現我被你第一行寫的快速按下誤導以為都會放開 06/01 19:13
mkz6: 如果第二個熱鍵按住不放執行到KeyWait時自然會卡住 06/01 19:13
mkz6: 他功能就是暫停script直到按鍵放開才會繼續執行 06/01 19:13
mkz6: 你的需求應該要把KeyWait改成GetKeyState比較適合 06/01 19:13
mkz6: 不然就是開頭加上 #MaxThreadsPerHotkey 2 讓熱鍵多線程執行 06/01 19:13
mkz6: 不過多線程容易有誤觸/誤發的情況 06/01 19:14