zoukankan      html  css  js  c++  java
  • 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")

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

  • 相关阅读:
    名字 地址 路由
    截断二进制指数退避
    硬件地址 软件地址
    基带信号 调制
    非对称数字用户线
    码分复用 码分多址
    时分复用 帧长度
    多模光纤 单模光纤
    码间串扰 奈氏准则 香农公式
    flask 文件下载 文件服务器 请求参数 函数修饰符
  • 原文地址:https://www.cnblogs.com/guxingy/p/12201076.html
Copyright © 2011-2022 走看看