Я нашел следующий код в StackOverflow:
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)
# 1-liner alternative: return buf.value if buf.value else None
if buf.value:
return buf.value
else:
return None
Это прекрасно работает, за исключением того, что мне было интересно, могу ли я использовать PID для достижения того же эффекта, что и у меня есть способ получить PID. Возможно, какой-нибудь способ преобразовать PID в дескриптор окна? Я пробовал разные функции в документах Win32 API, но ни одна из них не работает. Я не хочу использовать win32 gui, потому что он не обновлялся некоторое время.