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

如何通过AutoHotkey为相同标题窗口设置热键以快速聚焦指定窗口

AutoHotkey 绑定同标题游戏窗口专属热键实现方案

核心区分逻辑

窗口标题重复时,不需要依赖窗口内部文本,直接使用系统为每个窗口分配的唯一标识**HWND(窗口句柄)**做匹配即可,只要窗口不重启,HWND不会重复。

实现步骤

  • 第一步:扫描所有符合目标标题的窗口,按顺序存储对应的HWND
  • 第二步:为每个存储的HWND绑定对应的触发热键
  • 第三步:热键触发时直接通过HWND激活对应窗口
  • 额外补充:增加重新扫描热键,游戏窗口重启后不需要重启脚本即可重新绑定

可用示例代码

; 配置项:修改为你游戏的窗口标题
targetTitle := "你的游戏窗口标题"
; 热键前缀:这里用Alt,可自行修改为Ctrl/Shift等
hotkeyPrefix := "!"

; 初始化绑定窗口的函数
BindGameWindows() {
    global targetTitle, hotkeyPrefix
    ; 清空之前的热键和存储的HWND
    static hwndList := []
    for index, hwnd in hwndList {
        Hotkey, % hotkeyPrefix . index, Off
    }
    hwndList := []
    
    ; 获取所有匹配标题的窗口HWND
    WinGet, winList, List, % targetTitle
    Loop % winList {
        hwndList.Push(winList%A_Index%)
        ; 绑定热键,Alt+1对应第一个窗口,Alt+2对应第二个,以此类推
        Hotkey, % hotkeyPrefix . A_Index, ActivateWindow, On
    }
    TrayTip, 绑定完成, 共匹配到%winList%个游戏窗口
    return

    ActivateWindow:
        ; 提取热键对应的序号,比如Alt+1就取1
        keyIndex := SubStr(A_ThisHotkey, 0)
        targetHwnd := hwndList[keyIndex]
        ; 激活对应窗口
        WinActivate, ahk_id %targetHwnd%
    return
}

; 启动时自动执行一次绑定
BindGameWindows()

; 配置Alt+0为重新扫描绑定热键,窗口重启后按这个刷新绑定即可
!0::BindGameWindows()

注意事项

  • 如果游戏是以管理员权限运行的,AHK脚本也需要右键选择「以管理员身份运行」,否则会出现热键触发后无法激活窗口的问题
  • 窗口顺序以扫描时的Z轴顺序为准,第一次绑定后如果没有重启窗口,热键对应的窗口不会变化

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:06:03