如何修复此pywin32 CompatibleDC错误?

2024-03-29 10:03:17 发布

您现在位置:Python中文网/ 问答频道 /正文

好的,所以我在使用这个函数时得到了这个错误(错误:CreateCompatibleDC失败):

import win32api, win32ui, win32gui, win32con
def grab():
    global hwin, width, height, left, top
    hwindc = win32gui.GetWindowDC(hwin)
    srcdc = win32ui.CreateDCFromHandle(hwindc)
    memdc = srcdc.CreateCompatibleDC()
    bmp = win32ui.CreateBitmap()
    bmp.CreateCompatibleBitmap(srcdc, width, height)
    memdc.SelectObject(bmp)
    memdc.BitBlt((0, 0), (width, height), srcdc, (left, top), win32con.SRCCOPY)
    #bmp.SaveBitmapFile(memdc, 'screenshot.bmp')
    return BMP(bmp, memdc)
hwin = win32gui.GetDesktopWindow()
width = win32api.GetSystemMetrics(win32con.SM_CXVIRTUALSCREEN)
height = win32api.GetSystemMetrics(win32con.SM_CYVIRTUALSCREEN)
left = win32api.GetSystemMetrics(win32con.SM_XVIRTUALSCREEN)
top = win32api.GetSystemMetrics(win32con.SM_YVIRTUALSCREEN)

上面写着:

^{pr2}$

我想这是因为我有太多的分布式控制系统,但是当我删除这些分布式控制系统时,它不会修复任何问题。请帮忙!谢谢!在


Tags: top错误widthleftsmheightwin32guibmp