Есть ли способ вызвать & # 8220; Определить мониторы & # 8221; функция из C #?
-
07-07-2019 - |
Вопрос
Я работаю над небольшим приложением WPF, которое будет работать в полноэкранном режиме, и я хотел бы дать пользователю возможность выбирать, на каком мониторе он будет отображаться. Чтобы упростить идентификацию каждого монитора в списке, я хотел бы сделать что-то вроде диалогового окна «Параметры дисплея Windows» «Определить мониторы». Кнопка.
Есть ли способ вызвать эту функцию, используя P / Invoke или что-то еще? Если нет, я всегда могу просто открыть новое окно WPF на каждом мониторе, содержащее номер, но я не хочу изобретать колесо, если оно каким-то образом встроено.
Решение
Есть этот вопрос - В winform C # как определить, на каком мониторе приложение отображается - но оно просит указать, на каком экране запущено приложение, так как заявлено, что оно не будет выполнять то, что вы хотите. Однако класс System.Windows.Forms.Screen
может предоставить необходимые методы.
У него есть массив:
Sreeen[] AllScreens;
Выполните цикл по массиву и нарисуйте индекс массива в центре прямоугольника, определенного с помощью Bounds
или WorkingArea
.