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”的内容
我正在使用这个 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”的内容