python獲取當前最上層活動窗口的路徑

步驟

  1. 使用模塊win32gui
  2. win32gui.GetForegroundWindow()可以獲取最上層活動窗口的句柄
  3. 判斷獲取的句柄是否是文件夾
    文件夾的類型名字是'CabinetWClass'。
    通過win32gui.GetClassName(window) == 'CabinetWClass'可以獲取的句柄是否是文件夾
  4. 獲取窗口的路徑
    通過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ù)做了改進,去除了這個要求。

具體參考文章python獲取當前最上層活動窗口的路徑_version2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容