• Python 指定窗口截屏


    原文:https://blog.csdn.net/zhuisui_woxin/article/details/84345036

    对后台窗口截图保存

    用这个工具查看窗口的信息:窗口查找工具 WinSpy-1.0.3

    #对后台窗口截图
    import win32gui, win32ui, win32con
    from ctypes import windll
    from PIL import Image
    import cv2
    import numpy
    
    #获取后台窗口的句柄,注意后台窗口不能最小化
    hWnd = win32gui.FindWindow("Chrome_WidgetWin_1","在线翻译_有道 - Google Chrome") #窗口的类名可以用Visual Studio的SPY++工具获取
    #获取句柄窗口的大小信息
    left, top, right, bot = win32gui.GetWindowRect(hWnd)
    width = right - left
    height = bot - top
    #返回句柄窗口的设备环境,覆盖整个窗口,包括非客户区,标题栏,菜单,边框
    hWndDC = win32gui.GetWindowDC(hWnd)
    #创建设备描述表
    mfcDC = win32ui.CreateDCFromHandle(hWndDC)
    #创建内存设备描述表
    saveDC = mfcDC.CreateCompatibleDC()
    #创建位图对象准备保存图片
    saveBitMap = win32ui.CreateBitmap()
    #为bitmap开辟存储空间
    saveBitMap.CreateCompatibleBitmap(mfcDC,width,height)
    #将截图保存到saveBitMap中
    saveDC.SelectObject(saveBitMap)
    #保存bitmap到内存设备描述表
    saveDC.BitBlt((0,0), (width,height), mfcDC, (0, 0), win32con.SRCCOPY)
    
    #如果要截图到打印设备:
    ###最后一个int参数:0-保存整个窗口,1-只保存客户区。如果PrintWindow成功函数返回值为1
    result = windll.user32.PrintWindow(hWnd,saveDC.GetSafeHdc(),0)
    print(result) #PrintWindow成功则输出1
    
    #保存图像
    ##方法一:windows api保存
    ###保存bitmap到文件
    saveBitMap.SaveBitmapFile(saveDC,"img_Winapi.bmp")

    通过裁剪的方式 对窗口截屏

  • 相关阅读:
    tk资料
    jQuery 1.x和jQuery 2.x的最大区别
    活得更像一个人,我的十六年学习之路——北漂18年(44)
    java中的java.util.Map的实现类
    MVC框架的优缺点
    Web Service有关术语的解释
    Java中的字节输入出流和字符输入输出流
    对称加密算法
    怎么让这4个人在17分钟内要过桥
    mysql 只给更新表的某个字段的授权
  • 原文地址:https://www.cnblogs.com/guxingy/p/12201076.html
Copyright © 2020-2023  润新知