Использование ctypes для получения заголовка окна - PullRequest
0 голосов
/ 12 апреля 2020

Я нашел следующий код в 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, потому что он не обновлялся некоторое время.

...