Скрытие монитора из окон, работа с ним только из моего приложения - программирование
Подтвердить что ты не робот

Скрытие монитора из окон, работа с ним только из моего приложения

Мне нужно использовать монитор как устройство "private" для моего специального приложения, я хочу использовать его как фонарик сорта и нарисовать на нем специальные шаблоны в полноэкранном режиме. Я не хочу, чтобы этот монитор был распознан ОС (Windows 7) в качестве обычного монитора. То есть пользователь не должен иметь возможность перемещать мышь на этот монитор или изменять его разрешение или запускать скринсейвер на нем или что-то еще. Но я хочу иметь возможность взаимодействовать с ним из моего приложения. Монитор подключается с помощью кабеля HDMI к видеокарте (скорее всего, nVidia).

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

4b9b3361

Ответ 1

Для этого отсоедините монитор от рабочего стола. Отключение монитора с рабочего стола не позволяет Windows использовать его для обычного пользовательского интерфейса.

Пример кода для прикрепления и отсоединения мониторов в этой статье KB. Как только вы это сделаете, вы можете использовать монитор как независимый дисплей.

Ответ 2

Основываясь на собственной идее использования внешнего ПК и отметьте комментарий использования виртуальной машины в качестве этого "внешнего" устройства:

Вы можете купить внешний видеоадаптер USB-to-VGA, такой как один из них, прибл. USD40:

USB-to-VGA adapter

http://www.newegg.com/USB-Display-Adapters/SubCategory/ID-3046

Почти каждое программное обеспечение VM поддерживает какую-либо прошивку USB. VirtualBox - отличный пример. Только VM видит USB-устройство, хост полностью игнорирует его. Таким образом, шаги:

  • Купите адаптер USB-to-VGA.
  • Настройте slim виртуальную машину и купите небольшую утилиту для получения изображений, которые будут отображаться на экране по сети.
  • Настройте VirtualBox для подключения адаптера USB-VGA непосредственно к виртуальной машине.

Ответ 3

Вот еще одно простое решение для мониторинга вашего приложения.

Ваше приложение должно предоставить службу мониторинга API, обслуживаемую как HTTP на любом порту, который вы хотите (например, http://{userip}:{port}/{appname}/monitor).

Ваше приложение контролирует себя, сохраняя данные мониторинга в памяти, в локальном файле или базе данных, скрытых от пользователя. API-интерфейс монитора обслуживает эти данные на любом устройстве, которое вы хотите иметь браузер (планшет, телефон, нетбук, мини-ПК для Android, недорогое устройство Linux, любой ПК или любую ОС... из Интернета, вашей локальной сети или прямого подключения к ПК, на котором установлено приложение).

Плюсы:

  • Данные для мониторинга собираются (и обслуживаются) в вашем приложении: только один исполняемый
  • Дисплей можно удаленно: из любого места!
  • Доступ безопасности легко выполняется с помощью стандартных HTTP-анализов mecanisms
  • Вы можете отслеживать несколько приложений (т.е. несколько URL-адресов мониторинга).
  • Вы можете использовать любой браузер для мониторинга (даже для браузера локального окна на одном ПК для тестирования)
  • Монитор от любого оборудования и ОС, которые вы хотите
  • Простая и гибкая!

Минусы:

  • Немного, но скажите мне...

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

Надеюсь, это поможет:)