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

Windows 11 可否通过VBScript或PowerShell实现Cascade Windows层叠窗口

Windows 11 恢复VBScript/PowerShell层叠窗口(Cascade Windows)功能方案

Windows 11中Shell.Application COM对象的CascadeWindows方法仅保留接口定义,无实际执行逻辑,因此原有Win10可用的脚本全部失效,可通过直接调用系统user32.dll原生CascadeWindowsAPI实现功能,无需依赖AutoHotkey。


PowerShell 实现代码

直接运行以下代码即可触发层叠窗口:

Add-Type @"
using System;
using System.Runtime.InteropServices;
public class Win32API {
    [DllImport("user32.dll")]
    public static extern bool CascadeWindows(IntPtr hwndParent, uint wHow, IntPtr lpRect, uint cKids, IntPtr lpKids);
}
"@
# 参数与AutoHotkey调用逻辑完全一致,实现相同层叠效果
[Win32API]::CascadeWindows([IntPtr]::Zero, 4, [IntPtr]::Zero, 0, [IntPtr]::Zero)

VBScript 实现代码

VBScript无法直接声明调用Win32 API,可通过调用PowerShell内核实现相同功能,运行后无多余弹窗:

Set objShell = CreateObject("WScript.Shell")
objShell.Run "powershell -WindowStyle Hidden -Command ""Add-Type '@\""using System;using System.Runtime.InteropServices;public class Win32 {[DllImport(\""user32.dll\"")]public static extern bool CascadeWindows(IntPtr hwndParent, uint wHow, IntPtr lpRect, uint cKids, IntPtr lpKids);}\""@;[Win32]::CascadeWindows([IntPtr]::Zero,4,[IntPtr]::Zero,0,[IntPtr]::Zero)""", 0, True

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 09:36:06