Скрытие монитора из окон, работа с ним только из моего приложения
Мне нужно использовать монитор как устройство "private" для моего специального приложения, я хочу использовать его как фонарик сорта и нарисовать на нем специальные шаблоны в полноэкранном режиме. Я не хочу, чтобы этот монитор был распознан ОС (Windows 7) в качестве обычного монитора. То есть пользователь не должен иметь возможность перемещать мышь на этот монитор или изменять его разрешение или запускать скринсейвер на нем или что-то еще. Но я хочу иметь возможность взаимодействовать с ним из моего приложения. Монитор подключается с помощью кабеля HDMI к видеокарте (скорее всего, nVidia).
Каков самый простой способ сделать это? Все решения оцениваются, включая приобретение дополнительных адаптеров или простых видеокарт или любых других специальных устройств. Единственное решение, которое я мог себе представить, это подключить монитор к другому компьютеру, запустить демон на этом компьютере, подключить его к компьютеру через ethernet или что-то еще, обмениваться данными с этим демоном с моего компьютера. Это довольно уродливо и требует дополнительного компьютера. Но мне нужно решить эту проблему.
Ответы
Ответ 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-адресов мониторинга).
- Вы можете использовать любой браузер для мониторинга (даже для браузера локального окна на одном ПК для тестирования)
- Монитор от любого оборудования и ОС, которые вы хотите
- Простая и гибкая!
Минусы:
- Немного, но скажите мне...
Выбор этого решения зависит от того, какие данные вам нужно отслеживать (текст, изображения, видео...), а также о том, какая частота обновления вы ожидаете в зависимости от конфигурации вашей системы.
Надеюсь, это поможет:)