在多个显示屏的情况下,如何让win+d回到桌面时,副屏保持窗口不回到桌面

在多个显示屏的情况下,如何让win+d回到桌面时,副屏保持窗口不回到桌面

默认情况下 win+d 会将两个屏幕的所有窗口全部最小化,如果有两个屏幕,另一个屏幕是监视屏,会造成不便。

可以使用 autohotkey ,拦截 win 键,自定义逻辑:

安装 autohotkey

官网:https://www.autohotkey.com/

创建脚本

创建脚本默认在 Document 文档目录下的 AutoHotKey 文件夹

脚本

#NoTrayIcon
$#d::  ; 拦截Win+D并阻止默认行为
    ; 获取主显示器的工作区域坐标(假设主显示器在右侧)
    SysGet, MonitorPrimary, MonitorPrimary
    SysGet, MonitorWorkArea, MonitorWorkArea, %MonitorPrimary%
    mainLeft := MonitorWorkAreaLeft
    mainRight := MonitorWorkAreaRight

    WinGet, WinList, List  ; 获取所有窗口列表
    Loop %WinList% {
        WinID := WinList%A_Index%
        WinGetTitle, Title, ahk_id %WinID%
        if (Title = "" || Title = "Program Manager")  ; 跳过桌面和无效窗口
            continue

        ; 获取窗口位置并计算中心点
        WinGetPos, X, Y, W, H, ahk_id %WinID%
        WinCenterX := X + (W // 2)
        WinCenterY := Y + (H // 2)

        ; 判断窗口是否在主显示器(右侧)
        if (WinCenterX >= mainLeft && WinCenterX <= mainRight) {
            WinMinimize, ahk_id %WinID%  ; 仅最小化主显示器的窗口
        }
    }
return

开机启动

创建一个快捷方式,将其放入到开机自启动文件夹即可

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://zwc365.com/2025/04/07/zai-duo-ge-xian-shi-ping-de-qing-kuang-xia--ru-he-rang-wind-hui-dao-zhuo-mian-shi--fu-ping-bao-chi-chuang-kou-bu-hui-dao-zhuo-mian

Buy me a cup of coffee ☕.