如何用Python修改已打开资源管理器窗口的路径(无需新建实例)
用Python修改已打开的Windows资源管理器路径
要实现这个需求,需借助Windows API和pywin32库与资源管理器进程交互,具体步骤如下:
1. 安装依赖库
首先安装pywin32,它提供Python与Windows系统API的交互能力:
pip install pywin32
2. 核心实现代码
以下代码可定位已打开的资源管理器窗口,并修改其当前路径:
import win32gui import win32com.client def set_explorer_path(target_path): # 定位资源管理器窗口句柄 hwnd = win32gui.FindWindow("CabinetWClass", None) if not hwnd: print("未找到打开的资源管理器窗口") return # 获取Shell对象并匹配目标窗口 shell = win32com.client.Dispatch("Shell.Application") for window in shell.Windows(): if window.HWND == hwnd: # 跳转到目标路径 window.Navigate(target_path) print(f"已将资源管理器路径修改为: {target_path}") return print("无法关联资源管理器窗口与Shell对象") # 调用示例 set_explorer_path(r"C:\Windows\System32")
关键说明
CabinetWClass是Windows资源管理器窗口的类名,通过它可精准定位资源管理器窗口。- 遍历
shell.Windows()获取所有Shell窗口,通过窗口句柄匹配目标资源管理器实例。 Navigate是Shell窗口对象的内置方法,用于直接跳转至指定路径。
注意事项
- 仅适用于Windows系统。
- 若存在多个资源管理器窗口,代码会修改第一个匹配到的窗口;如需指定特定窗口,可额外通过窗口标题(当前路径)进行筛选。
内容的提问来源于stack exchange,提问作者T.Radecker
相关产品推荐
相关产品推荐

