![基本 AutoHotKey 輸入加倍器?](https://rvso.com/image/1539554/%E5%9F%BA%E6%9C%AC%20AutoHotKey%20%E8%BC%B8%E5%85%A5%E5%8A%A0%E5%80%8D%E5%99%A8%EF%BC%9F.png)
我有一個相當簡單的想法,我認為 AutoHotKey 可以幫助我。本質上,當我使用 ctrl-v 貼上時,我希望它傳輸第二個 ctrl-v 以便我貼上兩次。我的開發環境中有幾個按鍵綁定設定為各種 ctrl 按鍵的雙擊,因此我還希望能夠將腳本擴展到除了 ctrl-v 之外的各種其他按鍵。這是我的第一個 AutoHotKey 腳本,但我很難開始工作,因為這裡有很多東西要消化。謝謝!
答案1
在 AutoHotkey 中,雙重傳送金鑰非常簡單。
#IfWinActive
~^v::SendInput, ^v
一些附加項目:
#IfWinActive
1) 您可以透過為 WinTitle 使用和指定視窗名稱、exe 名稱、類別等來自訂哪些程式將接收雙重傳送或不接收雙重傳送
2) 熱鍵定義中的波形符號表示腳本不會阻止原始擊鍵的執行。如果您想完全控制原件是否通過,您可以刪除波形符(這將阻止原始擊鍵),然後自己發送兩次(或者根本不發送,或者在沒有原始擊鍵的情況下您可能想做的任何事情)註冊)。
3) 如果需要,您可以透過將函數擴展到不僅僅是單行熱鍵定義並使用語句來新增Return
延遲
4) 您可以使用 A_ThisHotkey 對多個熱鍵使用相同的程式碼。
5) 如果需要,您也可以使用 * 修飾符來允許具有多個修飾符的按鍵。這對於下面的範例程式碼可能不完全正確,但需要注意一些。
上述第 1-4 項的範例:
; this will execute the code to send duplicate keystrokes
; for any of the hotkeys defined, in this case, a,b,c, or Ctrl+V
#IfWinActive ahk_exe notepad.exe
~a::
~b::
~c::
~^v::
Sleep 200 ; Possibly use or adjust for reliability if needed
SendInput % SubStr(A_ThisHotkey, 2) ; Remove tilde and send duplicate keystrokes for whichever hotkey executed
Return