![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
![]()
В общем, ситуация такая.
К примеру, у меня на рабочем столе открыты: Браузер + Антивирус + Word И я хочу, что бы моя программа, делала скриншот не всего монитора, а только скриншот определённой программы. Я к примеру, хочу, что бы программа сделала скриншот Word. Но как это сделать? У меня есть одно предположение, как это сделать... 1) Выбираем имя нужной нам программы 2) Узнаём её координаты 3) Делаем скриншот монитора, согласно полученным координатам Если я рассуждаю верно, тогда что бы узнать координаты нужного мне окна, надо использовать функцию GetWindowsRect. Не сталкивался, щас буду читать Последний раз редактировалось Stilet; 29.04.2014 в 21:06. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
FindWindowEx+GetWindowRect+BitBlt = скриншот окна программы.
Только 1 хитрость есть: 1. Программа должна стать поверх всех окон. 2. Игровые D3D, OpenGL, DX таким способов вы снять не сможете. Надо идти через DIB. |
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Окно которое вы хотите заснять должно быть видимым. Показывайте код, как делаете скрин.
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
![]() Цитата:
2) Вот код: Код:
|
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Затупил. Deleted
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 29.04.2014 в 21:54. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
У вас StrechBlt. а я писал про BitBlt
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
![]()
Просто на одном сайте, я прочёл следующее:
=================================== ========= Две функции, которые очень важны для работы с изображениями – это BitBlt и StretchBlt. Обе они служат для копирования растровых изображений, а при помощи функции StretchBlt можно также изменять размер изображения. =================================== ========= |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 28.09.2011
Сообщений: 250
|
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Так надо ещё и своей головой думать
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Блокирование получения WM_CONTEXTMENU сторонней программы. | Smogg | Win Api | 0 | 24.06.2013 17:15 |
Экспорт информации из сторонней программы | alkador | Общие вопросы Delphi | 5 | 26.05.2012 21:39 |
Данные из памяти сторонней программы | epileptick | Общие вопросы C/C++ | 8 | 01.01.2011 19:19 |
Определение завершения сторонней программы | Хамяг | Общие вопросы Delphi | 3 | 26.11.2008 18:12 |
Как определить момент запуска сторонней программы? | NioTo | Win Api | 2 | 17.12.2007 16:40 |