在Windows上经常会遇到有些窗口或者网页终端无法进行粘贴的情况。这里使用AutoHotKey模拟手敲键盘输入内容,只需按下Ctrl+Shift+V即可强制粘贴字符串。
软件版本
AutoHotKey v1
具体实现
; 热键为 Ctrl+Shift+V
^+v::
; --- 修复 #1: 解决 Shift 键粘滞问题 ---
; 强制释放 Ctrl 和 Shift 键,防止热键执行后修饰键被粘滞。
Send {Blind}{LControl up}{LShift up}
; --- 修复 #2: 解决多余空行问题 ---
; 1. 将剪贴板内容保存到一个临时变量,以便修改。
ContentToPaste := Clipboard
; 2. 将 Windows 风格的 CRLF (`r`n) 替换为单个换行符 LF (`n)。
; 这样可以消除双重换行导致的空行。
; 注意:在 AutoHotkey v1 中,StrReplace 函数调用需要使用 := 表达式语法。
ContentToPaste := StrReplace(ContentToPaste, "`r`n", "`n")
; 3. 发送处理后的内容到输入
; 使用 {Text} 模式可以更好地处理包含换行符的长文本,
; 并且比 {Raw} 在某些情况下更稳定。
SendInput {Text}%ContentToPaste%
Return