admin
2024-12-16 ec012b7d2b915db24cd8b23f723bf18dfe75b7d6
win32_util.py
@@ -7,6 +7,10 @@
import win32ui
def is_visible(hwnd):
    return win32gui.IsWindowVisible(hwnd)
def getText(hwnd):
    bufSize = win32gui.SendMessage(hwnd, win32con.WM_GETTEXTLENGTH, 0, 0) + 1
    buffer = array.array('b', b'\x00\x00' * bufSize)
@@ -86,12 +90,23 @@
        saveDC.BitBlt((0, 0), (ow, oh), mfcDC, (0, 0), win32con.SRCCOPY)
        # 保存数据
        saveBitMap.SaveBitmapFile(saveDC, "test_origin.png")
        # 内存释放
        win32gui.DeleteObject(saveBitMap.GetHandle())
        saveDC.DeleteDC()
        mfcDC.DeleteDC()
        win32gui.ReleaseDC(hwnd, hWndDC)
        #########################保存最新的数据##########################
        hWndDC = win32gui.GetWindowDC(hwnd)
        mfcDC = win32ui.CreateDCFromHandle(hWndDC)
        saveDC = mfcDC.CreateCompatibleDC()
        # 创建位图对象准备保存图片
        saveBitMap = win32ui.CreateBitmap()
        saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)
        # 将截图保存到saveBitMap中
        saveDC.SelectObject(saveBitMap)
        saveDC.BitBlt((0, 0), (ow, h), mfcDC, (rect[0], rect[1]), win32con.SRCCOPY)
        saveBitMap.SaveBitmapFile(saveDC, "test_origin1.png")
        saveBitMap.SaveBitmapFile(saveDC, "test_origin_clip.png")
    signedIntsArray = saveBitMap.GetBitmapBits(True)