Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 21, 2013 10:03:15

severum
От:
Зарегистрирован: 2008-01-06
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

pyWin32, PyCDC и PrintWindow

Делаю скриншот спрятанного окна.

Лучше всего заработала функция 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
Метода PyCDC.getDC() так же не нашел.

Заработала только реализация через wxPython. Но wx добавлять к проекту не хочется.
wxMemoryDC = wx.MemoryDC()
wxMemoryDC.SelectObject(wxBitmap)
windll.user32.PrintWindow(hwnd, wxMemoryDC.GetHDC(), 0)

Как вытащить HDC из PyCDC?
Или сделать как-то по другому.

Заранее спасибо.



Отредактировано severum (Авг. 21, 2013 12:36:20)

Офлайн

#2 Авг. 23, 2013 07:14:57

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

pyWin32, PyCDC и PrintWindow

Ну раз у Вас нет проблем использованием ctypes, то просто перепишите С-шный код



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version