windows的Copilot键改右ctrl以及双击资源管理器空白地方后退到上一级目录

windows的Copilot 键改右ctrl

以及

双击资源管理器空白地方后退到上一级目录

注意

  • 如果只需要某一个模块,则直接删去另一个即可

  • windows的Copilot 键改右ctrl,启动程序后第一次按键不起作用,之后就完美使用

  • 注意是AutoHotkey2版本,不是AutoHotkey1

使用方法

安装AutoHotkey

保存代码为x.ahk

双击运行

还可以放到开机启动文件夹中

C:\Users\root\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

代码

bash 复制代码
#Requires AutoHotkey v2.0
#SingleInstance Force

; 提升脚本进程优先级,确保按键拦截的响应速度
ProcessSetPriority "High"

; ==============================================================================
; 模块 1: Copilot 按键完美映射为 Ctrl (解决保持状态问题)
; ==============================================================================
; Copilot 键的标准信号是: Left Win (#) + Left Shift (+) + F23
; 必须使用通配符 * 来允许你在按住 Copilot 时再按其他键 (如 C, V, F)
; ==============================================================================

*#+F23::
{
    ; 1. 立即"逻辑上"抬起 Win 和 Shift 键。
    ; 因为 Copilot 物理按下时,系统认为 Win 和 Shift 是按下的。
    ; 如果不强制抬起,你按 Copilot+F 会变成 Ctrl+Win+Shift+F,导致快捷键失效。
    Send "{Blind}{LWin Up}{LShift Up}"

    ; 2. 按下 Ctrl 键
    Send "{Blind}{LCtrl Down}"

    ; 3. 关键逻辑:利用 KeyWait 模拟"物理按住"状态。
    ; Copilot 键在物理按住时,底层会保持 LShift 处于按下状态。
    ; 我们等待 LShift 被释放,就代表用户松开了 Copilot 键。
    KeyWait "LShift"

    ; 4. 当用户松开键后,释放 Ctrl
    Send "{Blind}{LCtrl Up}"
}

; ==============================================================================
; 功能区 2: 资源管理器双击空白处返回上一级
; ==============================================================================
; 仅在资源管理器窗口生效
#HotIf WinActive("ahk_class CabinetWClass")

~LButton::
{
    ; 1. 判断是否为双击 (时间间隔小于 400ms 且上一个热键也是左键)
    if (A_PriorHotkey != "~LButton" or A_TimeSincePriorHotkey > 400)
        return

    ; 2. 获取当前鼠标状态,如果是 'IBeam' (输入文本状态) 则不执行,防止重命名时误触
    if (A_Cursor = "IBeam")
        return

    ; 3. 获取鼠标坐标
    MouseGetPos(&mX, &mY)

    ; 4. 核心逻辑:在鼠标周围随机取样检测是否为白色
    ; 如果是双击文件,第一次点击通常会选中文件,导致周围背景变为"选中色"(蓝/灰),
    ; 从而导致检测失败,脚本就不会拦截,保证正常打开文件。
    
    isWhiteSpace := true
    checkCount := 6          ; 检测 6 个随机点,兼顾性能与准确度
    radius := 30             ; 检测半径 30 像素
    targetColor := 0xFFFFFF  ; 纯白色 (RGB)

    Loop checkCount
    {
        ; 在鼠标周围随机生成偏移量
        offsetX := Random(-radius, radius)
        offsetY := Random(-radius, radius)
        
        ; 获取该点颜色 (RGB模式)
        try {
            pixelColor := PixelGetColor(mX + offsetX, mY + offsetY, "RGB")
        } catch {
            ; 如果鼠标在边缘,获取颜色失败,视为非空白,安全退出
            isWhiteSpace := false
            break
        }

        ; 判断颜色是否为纯白
        ; 注意:如果你使用的是深色模式,这里需要改为深色背景的色值 (例如 0x191919)
        if (pixelColor != "0xFFFFFF")
        {
            isWhiteSpace := false
            break ; 只要有一个点不是白色,就认为不是空白区域,停止检测
        }
    }

    ; 5. 如果所有随机点都是白色,发送 Alt + Up (返回上一级)
    if (isWhiteSpace)
    {
        Send "!{Up}"
        ; 可以在这里加个 ToolTip 调试,确定触发了
        ; ToolTip "Back Triggered"
        ; SetTimer () => ToolTip(), -1000
    }
}

#HotIf ; 结束上下文限制
相关推荐
AI阿阳2 小时前
✅真・喂饭级教程:2026 年 OpenClaw(Clawdbot)新手部署 + 飞书接入步骤流程
人工智能·windows·飞书·openclaw·openclaw 教程·本地 ai 部署
XS0301062 小时前
Java基础 List集合
java·windows·list
普修罗双战士2 小时前
专业Markdown转HTML工具类:修复优化与Spring Boot适配
windows·spring boot·html
北暮城南2 小时前
使用 nvm 安装与管理多版本 Node.js(Windows)
windows·npm·node.js·nvm
同元软控2 小时前
从 Copilot 到 Agent:MWORKS AI 全线升级,开启科学计算与系统建模仿真的智能体时代
人工智能·copilot
xiaoshuaishuai83 小时前
C# 继承与虚方法
开发语言·windows·c#
сокол3 小时前
【网安-Web渗透测试-内网渗透】内网横向移动——Impacket套件
服务器·windows·网络安全·系统安全
手打猪大屁3 小时前
使用claude code 接入deepseek-v4pro
linux·windows·ai·deepseek·claude code
即将进化成人机3 小时前
乡治通——议题审核、议程和日志管理
windows·笔记