windows система с несколькими мониторами, карта. net Экран для монитора DirectX # - PullRequest
1 голос
/ 26 февраля 2020

Я опишу необходимость:

Для сообщения об ошибках мы включаем в наше приложение способ видеозахвата экрана.

Для этой цели мы используем открытый Исходная библиотека с именем OBS studio .

В конфигурации с несколькими мониторами (практически на 100% от нашей клиентской базы) нам нужно указать OBS, какой монитор захватывать. OBS использует DirectX, который может индексировать мониторы, нумеруя их от 0.

Наше приложение - это приложение. net. 2 вызова API, которые кажутся актуальными:

System.Windows.Forms.Screen.FromControl()
and
System.Windows.Forms.Screen.AllScreens

эти вызовы stati c возвращают объект Screen или массив объектов экрана (. NET docs ).

Теперь вопрос:

  • Как найти номер монитора DirectX для главного окна моего приложения (с учетом. net «Экран»), чтобы я мог задать OBS записать его?
  • Другими словами, как мне сопоставить массив AllScreens из. NET, чтобы отслеживать индексы, понятные DirectX?

Peace.

...