You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

实现按住快捷键选中非相邻单词并拼接复制到剪贴板的方案需求

实现按住Ctrl键选中非相邻单词并拼接复制到剪贴板

功能说明

按住Ctrl键时,通过双击选中任意非相邻单词,这些单词会自动以空格分隔拼接成单个字符串;松开Ctrl键后,拼接结果将自动存入系统剪贴板。

可运行的AutoHotkey实现代码

; 初始化全局变量存储拼接内容
global selectedWords := ""

; 监听Ctrl键按下:重置拼接字符串,清除上次操作残留
^::
    selectedWords := ""
    return

; 监听Ctrl键松开:将拼接结果写入剪贴板
~Ctrl Up::
    Clipboard := selectedWords
    ; 可选提示:显示操作完成提示,1.5秒后自动消失
    ToolTip, 拼接内容已复制到剪贴板
    SetTimer, ToolTip, -1500
    return

; 监听鼠标左键双击,仅在Ctrl按住时生效
~LButton::
    if (GetKeyState("Ctrl", "P")) {
        ; 短暂延迟确保文本选中操作完成
        Sleep, 100
        ; 复制当前选中的文本
        SendInput, ^c
        ClipWait, 0.5
        if (!ErrorLevel) {
            ; 去除选中文本的首尾空白,避免多余空格
            currentSel := Trim(Clipboard)
            ; 非空内容才追加,自动用空格分隔
            if (currentSel != "") {
                selectedWords .= (selectedWords != "" ? " " : "") currentSel
            }
        }
    }
    return

代码逻辑说明

  • global selectedWords:全局变量保存拼接后的字符串,确保跨事件访问
  • ^:::Ctrl按下时重置变量,避免上次操作的内容干扰
  • ~Ctrl Up:::Ctrl松开时将最终拼接结果写入剪贴板,可选提示框告知操作完成
  • ~LButton:::监听鼠标左键点击,仅在Ctrl按住时执行:
    • 延迟等待文本选中完成,避免获取到空内容
    • 通过^c复制选中文本,等待剪贴板就绪后获取内容
    • 去除文本首尾空白后,按规则追加到拼接字符串,自动添加分隔空格

内容的提问来源于stack exchange,提问作者Pingui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:45:31