![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| IWTK |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
Привет всем. Мне нужно сделать скриншот чужого окна. Получить его DC, и потом коечто нарисовать на этом окне.
Получаю скрин при помощи PrintWindow. Но если писать так PrintWindow(HWND, DC, 0); то не работает. DC я не могу получить. А если вот так PrintWindow(HWND, image1.canvas.handle, 0); то работает хорошо. решил воспользоваться для рисования на чужом окне функцией StretchBLt, но еще толком сней не разобрался. Если можно так. помогите мне получить dc окна. и потом на нем нарисовать картинку. Текс без проблем рисуеться а вот как картинку нарисовать я почти не понял. GETDC и GETWINDOWDC получает, но если окно перекрыто другим чем нибудь, то это плохо. Вот принтвиндов получает даже если оно и перекрыто. |
|||
|
||||
| IWTK |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
Ребята что то я затупил по полной, а мб и нет.
Ведь если окна не видно зачем рисовать тогда? Правильно не надо. Так что с DC я справился сам. Прошу Вас помочь в оставшемся вопросе. Как нарисовать картинку допустим из image1 на чудом окне? |
|||
|
||||
| Proxin |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 21.6.2008 Репутация: нет Всего: 3 |
bitblt и stretchblt. ищи в msdn описание этих функций.
|
|||
|
||||
| IWTK |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
а разве при помощи bitblt что нибудь на другом окне можно нарисовать? а есть еще какие нибудь функции?
|
|||
|
||||
| IWTK |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
И если не трудно то помогите еще с этой функцией.
Так вот она объявлена
то по завершению image1 пустой. почему через printwindow ничего не помещаеться в dc??? Это сообщение отредактировал(а) Rrader - 30.4.2010, 04:57 |
|||
|
||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: нет Всего: 112 |
Какие-то совершенно излишние манипуляции, IMHO.
Почему бы не
? |
|||
|
||||
| IWTK |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 28.7.2009 Репутация: нет Всего: нет |
Так мы просто получим скрин окна, которого нам надо. Может кто нибудь объяснить почему не работает если подставить делать вот так
DC в чебя ничего не берет. а может и берет да я не могу достать. подскажите. МБ я туплю сейчас, ведь printwindow предназначена для снятия скриншотов, а не получения DC. Наверное поэтому и не работатет. Спасибо всем кто хоть чем то помог. Почти Во всем разобрался. Может ли кто-нибудь выложить описание флагов для printwindow и bitblt? на русском. srccopy, srcpaint и т.д. |
||||||
|
|||||||
| Maks1509 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 22.8.2007 Где: г. Тольятти Репутация: 3 Всего: 5 |
IWTK
А ты точно уверен что HWND окна тот, который тебе требуется? Где код получения DC?
|
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |