步驟
- 使用模塊
win32gui -
win32gui.GetForegroundWindow()可以獲取最上層活動窗口的句柄 - 判斷獲取的句柄是否是文件夾
文件夾的類型名字是'CabinetWClass'。
通過win32gui.GetClassName(window) == 'CabinetWClass'可以獲取的句柄是否是文件夾 - 獲取窗口的路徑
通過win32gui.GetWindowText(window)可以獲取窗口的標題,而這標題一般是窗口的路徑。
有時標題不會顯示窗口的絕對路徑,而是只顯示最后一級目錄名,可通過如下設(shè)置,來顯示完整的路徑名:
python腳本
import win32gui
import os
import os.path
import shutil
SW_HIDE = 0
SW_SHOW = 5
SW_MINIMIZE = 6
SW_SHOWMINNOACTIVE = 7
def get_path(path):
for i in range(500):
# while True:
window = win32gui.GetForegroundWindow()
if (window != 0):
if (win32gui.GetClassName(window) == 'CabinetWClass'):
path.append(win32gui.GetWindowText(window))
break
else:
# 使用python.exe執(zhí)行python腳本的時候,會彈出控制臺窗口,如下代碼能把控制臺置入后臺
if (win32gui.GetClassName(window) == 'ConsoleWindowClass'):
win32gui.ShowWindow(window, SW_MINIMIZE)
補充
由于上述要求窗口欄的標題為絕對地址,后續(xù)做了改進,去除了這個要求。
