【发布时间】:2019-10-17 20:58:48
【问题描述】:
以下代码 sn-p 应查找窗口“Notes.txt - Notepad”并捕获该窗口的屏幕截图。
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
【问题讨论】:
-
用
win32gui.FindWindowEx(None, None, None, window_title)替换FindWindow -
hwnd = win32gui.FindWindowEx(None, None, None, window_title)还是同样的问题!Window not found! -
我刚刚在我的机器上运行了它,它可以满足您的需求
-
知道为什么它不适用于我的吗? Windows 10
-
打开计算器,运行脚本(按照我的建议进行修改)