首页 > 编程语言 >python使用win32api进行后台窗口的部分截图函数

python使用win32api进行后台窗口的部分截图函数

时间:2022-09-29 17:37:21浏览次数:62  
标签:saveBitMap 截图 width python mfcDC saveDC height int win32api

def window_capture_beat(hwnd,stayx:int,endx:int,stay:int,endy:int):

    hwndDC = win32gui.GetWindowDC(hwnd)
    mfcDC = win32ui.CreateDCFromHandle(hwndDC)
    saveDC = mfcDC.CreateCompatibleDC()
    saveBitMap = win32ui.CreateBitmap()
    width = endx - stayx
    height = endy - stay
    saveBitMap.CreateCompatibleBitmap(mfcDC, width, height)
    saveDC.SelectObject(saveBitMap)
    saveDC.BitBlt((0, 0), (width, height), mfcDC, (stayx, stay), win32con.SRCCOPY)
    signedIntsArray = saveBitMap.GetBitmapBits(True)
    win32gui.DeleteObject(saveBitMap.GetHandle())
    mfcDC.DeleteDC()
    saveDC.DeleteDC()
    win32gui.ReleaseDC(hwnd, hwndDC)
    img = np.frombuffer(signedIntsArray, dtype="uint8")
    img.shape = (height, width, 4)
    return cv2.cvtColor(img, cv2.COLOR_RGBA2RGB)

  

标签:saveBitMap,截图,width,python,mfcDC,saveDC,height,int,win32api
From: https://www.cnblogs.com/xiaoerjun/p/16742345.html

相关文章

  • python 监控键盘事件
    frompynputimportkeyboard#按下后执行defon_press(key):try:ifkey==keyboard.KeyCode.from_char('enter'):passelifkey......
  • python5种线程锁
    # 线程安全线程安全是多线程或多进程编程中的一个概念,在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会......
  • python 生成伪随机数函数 random
    """random函数:出一个伪随机数具体怎么做?一般我们会考虑先查找python官方自带的文档在IDLE的右上角点击HELP-->PythonDoc(F1)-->点击左上角的索引-->输入我们要......
  • python dis模块
    python中的dis模块可以查看一句python代码的cpu运行轨迹,也就是cpu指令,如果只是读取数据时,如读取一个函数,此时数据是安全的,因为没有涉及任何修改,当改数据时,可能会涉及数据不......
  • 分分钟学会一门语言之Python篇
    github:原文#Singlelinecommentsstartwithahash.#单行注释由一个井号开头。"""Multilinestringscanbewrittenusingthree"'s,andareoftenusedas......
  • Python实现队列,堆栈
    一、队列classQueue:def__init__(self,size):self.size=sizeself.front=-1self.rear=-1self.queue=[]def......
  • python argparse使用及常用环境
    简介argparse是python中用来方便获取命令行参数的模块,也可以很方便的做一个简单的命令行参数的设定,例如ls-h等后面加参数的情况,可以自己创建一个支持命令行参数的命令......
  • python之第三方库pycurl库:PycURl是一个C语言写的libcurl的python绑定库。libcurl 是一
    ​​https://zhuanlan.zhihu.com/p/163173013​​​去期待陌生,去拥抱惊喜。......
  • Python元组常用方法 || 元组和列表的区别
    Python元组常用方法前言①通过()创建元组。小括号可以省略。a=(10,20,30)或者a=10,20,30【注意】:如果元组只有一个元素,则必须后面加逗号。这是因为python解释器会把 ......
  • 【Python程序剖析】tdxExp2.py
    代码:1#encoding=utf-82importre34#readfile5dic={}6pattern="([0-9]{6})\s+([\u4e00-\u9fa5]+)"7withopen(r'C:\new_tdx\T0002\export\20220918......