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

Windows 7下CMD脚本如何最小化VLC等全屏运行窗口?

解决方案

可以实现,你原有脚本使用的Shell.Application.MinimizeAll()方法不会处理全屏独占模式的窗口,直接通过PowerShell调用Windows原生API即可覆盖这类场景,无需第三方软件。

修改后完整脚本

将原脚本中最后一行PowerShell命令替换为调用user32.dll枚举所有窗口并发送最小化指令的代码即可,完整代码如下:

@echo off
set /p countdownminutes="Minutes: "
set /a countdownseconds = countdownminutes * 60
echo COUNTDOWN
echo %countdownminutes% Minutes
timeout /T %countdownseconds% /nobreak
powershell -command "$signature = '[DllImport(\"user32.dll\")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); [DllImport(\"user32.dll\")] public static extern bool EnumWindows(EnumWindowsProc enumProc, IntPtr lParam); public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);'; $winapi = Add-Type -MemberDefinition $signature -Name \"Win32ShowWindow\" -PassThru; $proc = [Win32ShowWindow+EnumWindowsProc]{ param($hWnd, $lParam) $winapi::ShowWindowAsync($hWnd, 6) | Out-Null; return $true; }; $winapi::EnumWindows($proc, [IntPtr]::Zero) | Out-Null"

说明

  • 代码仅调用Windows系统自带的user32.dll原生接口,无任何第三方依赖
  • EnumWindows会枚举所有系统顶层窗口,包含VLC这类全屏独占状态的应用窗口
  • ShowWindowAsync传入的参数6对应SW_MINIMIZE指令,会强制将目标窗口最小化
  • 若需要隐藏而非最小化窗口,将参数6改为0即可,0对应SW_HIDE指令,窗口会直接从桌面和任务栏消失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:36:00