Перейти к содержанию

Дублирование Экрана Игры


Рекомендуемые сообщения

Здравствуйте!

Мне нужно реализовать дублирование игры на два монитора, подключенных к одному компьютеру. Я мог бы воспользоваться какими-то готовыми программами, но задача состоит в том, чтобы дублирование происходило автоматическе при запуске игры.

 

Поэтому я решил написать свою программу, которая будет инжектить dll в процесс игры. После чего, сама библиотека, создает поток, в котором создается дополнительное окно на втором мониторе, куда и нужно параллельно передавать картинку из игры.

 

В общем, я написал простейший загрузчик, написал ту часть библиотеки, в которой создается дополнительное окно и написал часть, в которой подменяется оригинальная функция Present (спасибо Кенгу за видео уроки). 

Далее у меня начались проблемы, если при вызове подставной функции Present, делать два вызова к оригинальной Present и передавать хендл сначала одного, потом другого окна - то так хорошо работает только в том случае, когда приложение в оконном режиме, если игра в полноэкранном режиме, то в основном окне начинается рябь, а в дополнительное окно картинка вообще не выводится.

 

Так как я так и не смог победить дублирование в полноэкранном режиме, а решил, что пусть будет хотя в оконном. Но и тут появилось две проблемы, дело в том, что игра изначально запускается в полноэкранном режиме и в настройках это нельзя изменить, перейти в оконный режим можно только по нажатию Alt+Enter. А вторая проблема, то что после перевода игры в оконный режим, основное окно игры центрируется между двумя мониторами и его не удается перенести winapi функциями (просто начинает все виснуть).

 

Друзья, подскажите пожалуйста, может кому приходилось решать подобные вопросы, у меня опыта с DirectX нет, есть неплохой опыт С++.

 

Основная моя задача - это дублирование игры на второй монитор, буду рад любой помощи, любым ссылкам (хотя я весь инет облазил) и любым комментариям.

 

Спасибо!

Ссылка на комментарий
Поделиться на другие сайты

Дело в том, что в силу технических особенностей у мониторов разная ориентация - у одного альбомная, у другого портретная. Из-за этого стандартное дублирование не работает.

Ссылка на комментарий
Поделиться на другие сайты

В настройках видяхи можно же масштабирование на нестандартном разрешении делать. Впрочем, не уверен, что это поможет. Впервые сталкиваюсь с такой ситуацией, что мониторы в разных ориентациях. А развернуть его никак?

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.