Python获取当前资源管理器路径及打开控制台、资源管理器到指定路径的方法
文章目录
闲着没事还开发了个软件,可以快速打开控制台、资源管理器到当前资源管理器路径。
获取资源管理器路径方法
请先安装pywin32包进行使用
pip install pywin32 -i https://pypi.tuna.tsinghua.edu.cn/simple
下面是获得资源管理器路径代码
import pythoncom
import win32gui
import win32api
import win32process
import win32com.client
import urllib.parse
def get_explorer_window_path():
try:
pythoncom.CoInitialize()
hwnd = win32gui.GetForegroundWindow()
_, pid = win32process.GetWindowThreadProcessId(hwnd)
hndl = win32api.OpenProcess(0x400 | 0x10, False, pid)
path = win32process.GetModuleFileNameEx(hndl, 0)
if "explorer.exe" in path.lower():
shell = win32com.client.Dispatch("Shell.Application")
windows = shell.Windows()
for window in windows:
if window.HWND == hwnd:
location_url = window.LocationURL.replace("file:///", "")
decoded_path = urllib.parse.unquote(location_url)
return decoded_path
return None
except Exception as e:
print(f"错误: {e}")
return None
finally:
pythoncom.CoUninitialize()
import time
time.sleep(5)
# 等待的时间,你可以打开资源管理器
# 获取当前资源管理器路径,前提是资源管理器窗口是激活状态
print(get_explorer_window_path())
运行错误
如果遇到pywin32的报错,并有错误码,可以使用下面的代码查找错误信息
import win32api
# win32api.FormatMessage("错误码")
print(win32api.FormatMessage(-2147417843))
print(win32api.FormatMessage(-2147352567))
打开控制台到指定路径方法
下面是打开控制台到指定路径代码
import os
def open_console(path):
formatted_path = os.path.normpath(path)
os.system(rf'start cmd.exe /K cd /d "{formatted_path}"')
# 打开控制台到 C:\Users\Public
open_console(r"C:\Users\Public")
打开资源管理器到指定路径方法
下面是资源管理器到指定路径代码
import subprocess
import os
def open_explorer(path):
formatted_path = os.path.normpath(path)
# 不推荐使用 os.system() 打开资源管理器,因为会先打开一个cmd窗口后再打开资源管理器(虽然cmd窗口会立即关闭)
# shell=True 作用是在新的窗口中打开资源管理器
subprocess.Popen(f"start explorer {formatted_path}", shell=True)
# 打开资源管理器到 C:\Users\Public
open_explorer(r"C:\Users\Public")
标签:Windows,器到,路径,import,path,打开,资源管理
From: https://blog.csdn.net/m0_74389553/article/details/144492444