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

如何在Python中结束文件资源管理器explorer.exe但不终止Shell

无需依赖nircmd.exe的Python实现:关闭所有文件资源管理器窗口

可以借助pywin32库调用Windows API实现,无需额外依赖工具。核心思路是枚举系统中所有顶层窗口,匹配文件资源管理器对应的窗口类CabinetWClass,然后向这些窗口发送关闭消息。

步骤1:安装依赖库

先通过pip安装pywin32:

pip install pywin32

步骤2:实现代码

import win32gui
import win32api

def close_explorer_windows():
    def window_enumeration_callback(hwnd, _):
        # 获取当前窗口的类名
        class_name = win32gui.GetClassName(hwnd)
        # 匹配文件资源管理器窗口类
        if class_name == "CabinetWClass":
            # 发送WM_CLOSE消息关闭窗口(和手动点击关闭按钮效果一致)
            win32api.SendMessage(hwnd, 0x0010, 0, 0)

    # 枚举所有顶层窗口
    win32gui.EnumWindows(window_enumeration_callback, None)

if __name__ == "__main__":
    close_explorer_windows()

说明

  • CabinetWClass是Windows文件资源管理器窗口的标准类名,确保只会匹配文件管理器窗口,不会影响其他进程。
  • 发送WM_CLOSE消息(十六进制0x0010)会让窗口正常关闭,不会终止explorer.exe主进程,避免桌面重启的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:33:12