| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > получить "сномок" окна по handle'y |
| Автор: ano360 29.1.2009, 20:20 |
| есть handle окна. пытаюсь получить его изображение: (С++ Builder) DefWindowProc(hWnd, WM_PRINT,(WPARAM)Form1->Image1->Canvas->Handle,NULL); на что Image1 заливается белым SendMessage(hWnd, WM_PRINT,(WPARAM)Form1->Image1->Canvas->Handle,NULL); hWnd не битый, проверено . пробую для разных окон, при любом hWnd одно и то же может необходимо настроить буфер-приемник? |
| Автор: GremlinProg 29.1.2009, 23:11 | ||
|
| Автор: ano360 30.1.2009, 11:53 |
| тот же эффект.... |
| Автор: Katko 22.3.2009, 16:11 | ||
Делаешь нужное окно активным и имитируешь нажатие Alt+PrtScr:
У мну срабатывает на ура. |
| Автор: GremlinProg 22.3.2009, 17:11 |
| принтскрин делает то же самое, да и по крайней мере на WM_PRINT, граница окна с кэпшеном должна была бы прорисоваться, раз все белое, значит идет какаято пост-обработка на канве, которая все это стирает пробуй напрямую создать девайс, назначить ему битмап и послать WM_PRINT либо на крайний случай, получить координаты окна и скопировать его с нулевого девайса (GetDC(0)) |
| Автор: BEOWOLF 23.3.2009, 07:50 | ||
Вот собственно пример, как надо делать принтскрин под GDI:
|