Получить размер рабочего стола из службы Windows?

Я пытаюсь получить размер рабочего стола Windows (целиком, а не только одного экрана) изнутри службы, которую я написано.

В WinForms - стандартный метод C # для:

SystemInformation.VirtualScreen.Width   
SystemInformation.VirtualScreen.Height

, кажется, работает (если вы импортируете DLL Winforms, чего я хочу избежать), но он возвращает неправильное значение. Размер рабочего стола составляет 2048x768 (2 экрана), но служба сообщает 1024x768 (предположительно, он отображается только на одном из экранов.)

Проверка возможности службы для взаимодействие с рабочим столом не имеет никакого эффекта.

Есть мысли?

Изменить:

Решения, опубликованные на C #: Получить полный размер рабочего стола? не работают внутри службы. Все они сообщают неправильное значение.

Интересно, что кажется, что сообщаемое значение различается и не имеет никакого отношения к фактическому размеру рабочего стола (некоторые машины сообщают 800x600 , хотя один дисплей на этой машине имеет гораздо более высокое разрешение).

Итак - есть еще идеи? Попадание в реестр и / или в командную строку - нормально. Единственное ограничение - я не могу запустить приложение winforms, чтобы понять это.

5
задан Community 23 May 2017 в 12:13
поделиться