Создание большого количества BitMap'ов
Есть необходимость делать много скриншотов за единицу времени, для решения была выбрана библиотека pywin32, создание растровых изображений и их дальнейшее сохранение. Все работает прекрасно за исключением того, что больше 9997 итераций при создании BitMap не выполняется. Пытался менять переменные, делать паузы, разбивать цикл, но все заканчивается тем, что без разницы как, но когда вызывается больше 9997 раз метод CreateCompatibleBitmap происходит ошибка.
Код
import win32gui
import win32ui
import win32con
import time
for i in range(10000):
print(i)
hwnd = win32gui.FindWindow(None, "Window")
wDC = win32gui.GetWindowDC(hwnd)
dcObj=win32ui.CreateDCFromHandle(wDC)
dataBitMap = win32ui.CreateBitmap()
cDC=dcObj.CreateCompatibleDC()
dataBitMap.CreateCompatibleBitmap(dcObj, 20, 20)
cDC.SelectObject(dataBitMap)
cDC.BitBlt((0,0),(20, 20) , dcObj, (750, 360), win32con.SRCCOPY)
time.sleep(0.001)
dataBitMap.SaveBitmapFile(cDC, 'j.png')
dcObj.DeleteDC()
cDC.DeleteDC()
Ошибка
9995
9996
9997
Traceback (most recent call last):
File "D:\User\DesktopD\p\ertertgeospg.py", line 25, in <module>
dataBitMap.SaveBitmapFile(cDC, 'j.png')
win32ui.error: GetDIBits failed