Python 检查当前 window 是否是文件浏览器 (windows)

Python check if current window is file explorer (windows)

我正在使用这个 code 来获取电流 window

from typing import Optional
from ctypes import wintypes, windll, create_unicode_buffer

def getForegroundWindowTitle() -> Optional[str]:
    hWnd = windll.user32.GetForegroundWindow()
    length = windll.user32.GetWindowTextLengthW(hWnd)
    buf = create_unicode_buffer(length + 1)
    windll.user32.GetWindowTextW(hWnd, buf, length + 1) 
    return buf.value if buf.value else None 

print(getForegroundWindowTitle())
    
    output:
        Videos
        git
        Downloads
        Python check if current window is file explorer - Stack Overflow - Google Chrome

虽然使用此方法可以轻松识别 google chrome 标签,但问题是无法知道 视频、git、下载 是 windows 个文件夹(使用文件资源管理器打开)。

那么,有没有办法得到这种格式的输出Videos - File Explorer
/ 检查当前 window 是否是 windows folder/file 探险家 window ?

从同一个问题我修改了Nuno Andre的代码

import ctypes
from ctypes import wintypes
import psutil

user32 = ctypes.windll.user32

h_wnd = user32.GetForegroundWindow()
pid = wintypes.DWORD()
user32.GetWindowThreadProcessId(h_wnd, ctypes.byref(pid))
print(psutil.Process(pid.value).name())

这个应该可以解决问题,但您需要 psutil(pip 安装 psutil)。 如果活动 Window 是 Explorer-Window.

,您应该会看到类似“Explorer.exe”的内容