无法捕获窗口标题python

问题描述 投票:0回答:1

以下代码段应查找窗口“ Notes.txt-记事本”并捕获该窗口的屏幕截图。

import pyautogui
import win32gui

def screenshot(window_title="Notes.txt - Notepad"):
    if window_title:
        hwnd = win32gui.FindWindow(window_title, None)
        if hwnd:
            win32gui.SetForegroundWindow(hwnd)
            x, y, x1, y1 = win32gui.GetClientRect(hwnd)
            x, y = win32gui.ClientToScreen(hwnd, (x, y))
            x1, y1 = win32gui.ClientToScreen(hwnd, (x1 - x, y1 - y))
            im = pyautogui.screenshot(region=(x, y, x1, y1))
            return im
        else:
            print('Window not found!')
    else:
        im = pyautogui.screenshot()
        return im


im = screenshot('Calculator')
if im:
    im.show()

这里的问题是,无论我通过window_title传递什么,它总是返回:

Window not found!

[当我print(hwnd)时其评估为0

文件标题:enter image description here

python win32gui pyautogui
1个回答
0
投票

问题出在这里-hwnd = win32gui.FindWindow(window_title, None)

win32gui.FindWindowEx(None, None, None, window_title)替换,它应该可以工作。

Docs

编辑:

win32gui.FindWindow(None, window_title)也应该起作用。

© www.soinside.com 2019 - 2024. All rights reserved.