介绍
按下 Shift+F9 时将选中内容复制后同步到服务端。Shift+F8 时将服务端的内容粘贴到光标位置。
注意,加密方法 crypt() 在这里。
如果你没有服务器,可以试试这个文本存储服务:textdb.dev。
sync.ahk
autohotkey v2:
#Requires AutoHotkey v2.0 #SingleInstance Force codepage := 65001 password := "your_password_here" url := "https://upall.cn/pasteboard/" +F9:: { A_Clipboard := "" Send("^c") ClipWait data := A_Clipboard encrypted := crypt(data, password, true) ; 加密 data := encrypted ? encrypted : data whr := ComObject("WinHttp.WinHttpRequest.5.1") whr.Open("POST", url, true) whr.SetRequestHeader("Content-Type", "text/plain") whr.Send(data) whr.WaitForResponse() resText := whr.ResponseText MsgBox(resText, , 2) ; 2秒后关闭 } +F8:: { whr := ComObject("WinHttp.WinHttpRequest.5.1") whr.Open("GET", url, true) whr.Send() whr.WaitForResponse() data := whr.ResponseText decrypted := crypt(data, password, false) ; 解密 data := decrypted ? decrypted : data A_Clipboard := data Send("^v") }
autohotkey v1:
#NoEnv #SingleInstance force codepage = 65001 password := "your_password_here" url := "https://upall.cn/pasteboard/" +f9:: clipboard := "" Send ^c ClipWait data := clipboard encrypted := crypt(data, password, true) ; 加密 data := encrypted ? encrypted : data whr := ComObjCreate("WinHttp.WinHttpRequest.5.1") whr.Open("POST", url, true) whr.SetRequestHeader("Content-Type", "text/plain") whr.Send(data) whr.WaitForResponse() resText := whr.ResponseText MsgBox, 2000, , %resText% ; 2秒后关闭 return +f8:: whr := ComObjCreate("WinHttp.WinHttpRequest.5.1") whr.Open("GET", url, true) whr.Send() whr.WaitForResponse() data := whr.ResponseText decrypted := crypt(data, password, false) ; 解密 data := decrypted ? decrypted : data clipboard := data Send ^v return
server
详见:同步剪贴板内容 Hammerspoon 中的 server 部分。
其它
注:移除加解密功能可以显著减小响应时间。