python获取当前最上层活动窗口的路径

步骤

  1. 使用模块win32gui
  2. win32gui.GetForegroundWindow()可以获取最上层活动窗口的句柄
  3. 判断获取的句柄是否是文件夹
    文件夹的类型名字是'CabinetWClass'
    通过win32gui.GetClassName(window) == 'CabinetWClass'可以获取的句柄是否是文件夹
  4. 获取窗口的路径
    通过win32gui.GetWindowText(window)可以获取窗口的标题,而这标题一般是窗口的路径。
    有时标题不会显示窗口的绝对路径,而是只显示最后一级目录名,可通过如下设置,来显示完整的路径名:

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执行python脚本的时候,会弹出控制台窗口,如下代码能把控制台置入后台
                if (win32gui.GetClassName(window) == 'ConsoleWindowClass'): 
                    win32gui.ShowWindow(window, SW_MINIMIZE)

补充

由于上述要求窗口栏的标题为绝对地址,后续做了改进,去除了这个要求。

具体参考文章python获取当前最上层活动窗口的路径_version2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容