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

开发低资源占用Windows Shell替换程序 如何让窗体始终保持在所有窗口底层?

Windows Shell替换程序固定桌面底层低开销实现方案

核心实现方案(无额外运行时开销)

所有操作仅需在程序初始化时执行一次,无需后台轮询、钩子,几乎不增加额外CPU/RAM占用:

  • 首先调用FindWindowW(L"Progman", L"Program Manager")获取Windows默认桌面管理器窗口句柄
  • 调用SetParent(你的应用窗口句柄, 上述获取到的Progman句柄),将你的窗口设置为桌面窗口的子窗口,天然会处于所有顶层应用窗口下方,不会被常规窗口激活操作带到前台
  • 可选补充调用SetWindowPos(你的应用窗口句柄, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE),强制锁定窗口到Z序最底部

Win10/11适配方案

针对新版系统中存在WorkerW窗口承载壁纸的场景,仅需多执行一次单次枚举操作:

  • 调用EnumWindows枚举所有顶层窗口,匹配类名为WorkerW且包含类名为SHELLDLL_DefView子窗口的目标句柄,将你的窗口父级设置为该WorkerW句柄即可

高开销方案规避

不要使用全局鼠标钩子监听桌面点击、不要设置定时器循环调用压入底层的API,上述两种方案都会产生持续的额外CPU占用。

异常兼容处理

如果遇到资源管理器explorer崩溃重启的场景,仅需监听系统WM_SETTINGCHANGE消息,收到桌面重置的通知后重新执行一次父窗口绑定操作即可,该触发为系统消息推送,无需轮询,开销可忽略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 20:09:04