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

AutoHotKey变量未赋值警告及窗口遍历脚本报错排查

AutoHotKey脚本错误分析与修正

错误点说明

  • 无效全局声明触发警告:第一行global WinGet, WindowList, List语法错误,global仅用于声明变量作用域,不能直接跟WinGet命令。这行代码未给WindowList赋值,导致出现「变量从未被赋值」的警告。
  • Loop语句语法错误:Loop % WindowList %的空格和格式错误,AHK无法正确解析循环次数,导致遍历逻辑异常。
  • 窗口标识语法错误:% "ahk_id " % this_id中多余的百分号导致窗口句柄拼接错误,无法正确获取对应窗口的标题和进程名,所以弹窗显示空内容。

修正后的脚本

#SingleInstance Prompt

; 获取所有打开窗口的列表
WinGet, WindowList, List

; 遍历列表并显示每个窗口的信息
Loop, %WindowList%
{
    ; 获取当前窗口的句柄、标题和进程名
    this_id := WindowList%A_Index%
    WinGetTitle, Title, ahk_id %this_id%
    WinGet, ProcessName, ProcessName, ahk_id %this_id%

    ; 显示窗口信息
    MsgBox, Window %A_Index%`nTitle: %Title%`nProcess: %ProcessName%
}

修正细节

  1. 删除了无效的global WinGet, WindowList, List行,改为直接执行WinGet, WindowList, List获取窗口列表;若需全局变量可单独添加global WindowList(本脚本无需全局)。
  2. 将Loop % WindowList %改为Loop, %WindowList%,符合AHK v1的Loop语法规范。
  3. 将窗口标识改为ahk_id %this_id%的传统写法,确保正确识别窗口句柄。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 00:00:02