- 0
Снимок экрана в полноэкранном приложении DirectX
-
Похожий контент
-
- 1 ответ
- 767 просмотров
-
- 2 ответа
- 685 просмотров
-
- 1 ответ
- 551 просмотр
-
- 0 ответов
- 743 просмотра
-
- 7 ответов
- 1 469 просмотров
-
- 2 ответа
- 1 103 просмотра
-
- 5 ответов
- 2 010 просмотров
-
Как сделать управление в TWebBrowser под Win как на мобильных платформах
От Yarpda,
- twebbrowser
- windows
- (и ещё 1 )
- 15 ответов
- 1 619 просмотров
-
- 0 ответов
- 1 085 просмотров
-
AppTethering не отправляет поток данных в Android-приложение
От Delpher-X,
- delphi
- delphi 10.3.3
- (и ещё 3 )
- 5 ответов
- 1 197 просмотров
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
Pax Beach
Мне нужно сделать снимок экрана из своего приложения в приложении DirectX (в игре).
По-быстрому накидал приложение, исходники здесь: MakeScreenshot-Forum.zip
1. по нажатию единственной кнопки будет выполнена серия из 16 снимков экрана. Если запущен Скайп, то фотографироваться будет содержимое его окна.
2. По нажатии CTRL+ALT+F9 будет сделан единичный снимок
3. Label внизу показывает сколько миллисекунд затрачено на вывод снимка
4. В комментах так же вы найдете, как работать со снимками через буфер обмена.
Работа выполняется через GetDC(NULL);
Windows 10 x64. Снимки делаются. И DirectX тоже нормально фотографируется.
НО! только в оконных приложениях.
Если приложение DirectX полноэкранное, то на всех снимках одна и та же картинка с первого снимка.
То есть изменение буфера экрана в приложении ни как не отражается на снимках.
Что нужно? Необходимо делать снимки конкретного приложения через интерфейс DirectX, а точнее, я так понимаю, через DirectShow. Тогда не будет разницы в окне оно или на полный экран.
Помогите плиз, знающие люди, с решением этой задачи.
Гарантирую вам от сообщества большой почет, от меня огромный респект, если это принесет доход, то еще и очень приятный бонус.
Ссылки теме:
1. DIRECTX FOR DELPHI
2. unofficial version of DelphiX
3. DirectX для начинающих
4. MinHook - The Minimalistic x86/x64 API Hooking Library
5. Various methods for capturing the screen
6. Вывод графики на рабочий стол Windows с использованием оверлеев DirectX
7. Project JEDI
8. Реализация перехвата вызовов API — исчерпывающе про внедрение DLL, если разобраться, + это на Delphi
UPD:
9. Серия видео уроков Пишем D3D-хук — все понятно, только в Delphi перенести нужно.
UPD 2:
Научился рисовать в Direct3D и ловить интерфейс IDirect3DDevice9. Теперь делаю DLL ловушку для реализации снимков.
13 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.