문제

나는 약간의 검색을했지만 내가 찾고 있던 것과 비슷한 것을 찾을 수 없었습니다. C#을 사용하여 2 차/3 차 모니터 또는 프로젝터에 다른 내용을 표시하는 방법을 알고 싶습니다. 기본적으로, 내가 달성하고자하는 것은 하나의 특정 화면 (기본 디스플레이)에 어떤 형태의 발표자보기 (LA 파워 포인트)와 보조 화면 또는 프로젝터의 출력을 갖는 것입니다. 나는 여러 디스플레이 출력으로 무언가를 개발하려고 시도한 적이 없으므로 모든 지침은 아마도 상당히 명백한 수준이어야 할 것입니다.

누군가가 C#에서 이런 종류의 것을 처리하는 방법에 대한 올바른 방향으로 나를 지적 할 수 있다면, 그것은 대단히 감사 할 것입니다!

도움이 되었습니까?

해결책

당신은 사용할 수 있습니다 System.Windows.Forms.Screen.AllScreens 속성 Windows가 알고있는 모든 모니터 목록에 액세스하는 속성. 사용자가 구성하지 않은 디스플레이를 사용하려면 더 어려워집니다. DirectX를 사용하여 디스플레이 어댑터를 초기화하고 액세스해야 할 것입니다.

다른 팁

Keven의 답변을 확장하기 위해 (i +1 ') Screen.AllScreens 배열에는 다양한 화면 객체가 있습니다. 스크린 객체에는 ISPrimary라는 속성이 있는데, 이는 기본 화면이고 Secondary (DUH)를 결정하는 데 사용할 수 있으며 WorkingArea라는 속성도 있습니다. 두 번째 화면. 이것에 대한 멋진 점은 2 차 화면이 1 차 왼쪽에 있도록 구성되어 있더라도 WorkingArea.x는 음수가되며 거기에 형태를 배치 할 수 있다는 것입니다.

상호 작용 해야하는 주요 클래스 중 하나는 IS 화면 (이것은 Winforms 네임 스페이스에 있습니다). 일반적으로 모든 화면은 화면 클래스를 사용하여 각 화면에 대한 속성을 얻을 수있는 일련의 작업 영역으로 취급됩니다.

이와 같은 모든 화면을 얻을 수 있습니다 ...

Screen [] screens = Screen.AllScreens;

여기 C#에서 멀티 모니터 프로그래밍을 수행하는 것에 대한 짧은 기사입니다.

또한 2 차 화면에 표시하려는 창에서 속성 'startPosition'을 '매뉴얼'으로 설정하십시오. 그렇지 않으면 항상 기본 화면에 표시됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top