Доступ ко второму монитору в WPF, если для настройки монитора установлено значение «Показать только для рабочего стола при 1» - PullRequest
3 голосов
/ 08 февраля 2012

Я пишу приложение, которое будет работать в системе Windows 7 с монитором и лицевой панелью в качестве настройки двойного экрана. Программное обеспечение виртуального рабочего стола будет использоваться для доступа к нему большую часть времени, и программное обеспечение виртуализации должно отображать ТОЛЬКО то, что находится на мониторе, а не на передней панели.

Если установлено «Расширить эти дисплеи», программное обеспечение для виртуализации показывает, что оба экрана соединены вместе, и, похоже, нет способа отключить его. Если для параметра «Несколько экранов» выбрать «Показывать только на рабочем столе в режиме 1», система виртуализации будет работать правильно, но теперь в моем приложении WPF создается впечатление, что второго монитора не существует. Мой массив Screen.AllScreens показывает только один монитор.

Есть ли способ заставить мое приложение WPF отображать на втором мониторе в полноэкранном режиме, когда на рабочем столе установлено «Показать только для рабочего стола в 1»? Для целей данного приложения оно будет работать только на весь экран.

1 Ответ

0 голосов
/ 02 марта 2012

Вы подходите к проблеме под неправильным углом. Вам нужно смотреть на программное обеспечение виртуального рабочего стола, а не на ваше приложение или на саму Windows.

Прежде всего, чтобы Windows использовала двойные экраны, которые вы хотите, вы должны установить «Расширить эти дисплеи». Без этого для Windows или любого другого программного обеспечения невозможно использовать второй дисплей.

Во-вторых, под «программным обеспечением виртуального рабочего стола» я предполагаю что-то вроде Remote Desktop, TeamViewer или VNC. Все эти программы должны позволять вам выбирать, показывать ли все дисплеи. Например, в Remote Desktop, перед подключением вы можете выбрать «Параметры» -> «Показать» -> снять флажок «Использовать все мои мониторы для удаленных сеансов».

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

...