Лучше всего заработала функция PrintWindow
Но у нее нет обертки и вызывать ее можно только передавая ей инты:
windll.user32.PrintWindow(hwnd, memDC, 0)
В то время как в остальном коде PyCDC.
PyMemDC = PyWndDC.CreateCompatibleDC() PyMemDC.SelectObject(PySaveBitMap) # PyMemDC.BitBlt((0, 0), (sizeX, sizeY), PyWndDC, (0, 0), win32con.SRCCOPY) # заменить на PrintWindow
Заработала только реализация через wxPython. Но wx добавлять к проекту не хочется.
wxMemoryDC = wx.MemoryDC() wxMemoryDC.SelectObject(wxBitmap) windll.user32.PrintWindow(hwnd, wxMemoryDC.GetHDC(), 0)
Как вытащить HDC из PyCDC?
Или сделать как-то по другому.
Заранее спасибо.