python找到窗口句柄截图
用win32gui.FindWindow找到句柄,然后把这个句柄窗口截图,保存。之后可以识别图片或找字。
import win32gui
import win32ui
import win32con
import win32api
import ctypes
import ctypes.util
# 获取窗口句柄
hwnd = win32gui.FindWindow("#32770", "Internet Download Manager 6.40")
if hwnd == 0:
print("未找到窗口")
exit()
# 获取窗口大小和位置
left, top, right, bottom = win32gui.GetWindowRect(hwnd)
width = right - left
height = bottom - top
# 获取窗口DC,并创建一个内存DC
hwndDC = win32gui.GetWindowDC(hwnd)
mfcDC = win32ui.CreateDCFromHandle(hwndDC)
memDC = mfcDC.CreateCompatibleDC()
# 创建一个新的bitmap对象,并将其关联到内存DC上
bmp = win32ui.CreateBitmap()
bmp.CreateCompatibleBitmap(mfcDC, width, height)
memDC.SelectObject(bmp)
# 使用BitBlt函数将窗口图像拷贝到bitmap中
memDC.BitBlt((0, 0), (width, height), mfcDC, (0, 0), win32con.SRCCOPY)
# 保存bitmap对象到文件
bmp.SaveBitmapFile(memDC, 'screenshot.png')
# 释放资源
memDC.DeleteDC()
win32gui.DeleteObject(bmp.GetHandle())
win32gui.ReleaseDC(hwnd, hwndDC)
