使用ctypes检索窗口标题

2024-10-06 12:39:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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文档中尝试了不同的函数,但都不起作用。我不愿意使用win32gui,因为它已经有一段时间没有更新了


Tags: 代码nonereturnifvaluedefstackoverflowpid