2012-05-19 2 views
5

멀티 모니터 설정에서 해당 화면에 연결된 일부 데이터를 저장하려고 화면을 식별하려고합니다. 다시 부팅 한 후에도 어떻게 화면을 신뢰할 수 있습니까?디스플레이 식별

닷넷의 Screen 클래스에 대해 알고 있지만 Screen.DeviceName은 새 그래픽 드라이버를 설치 한 후와 같이 일관되게 한 화면을 가리키고있는 것처럼 보입니다.

+0

장치 드라이버를 변경하고 특정 화면을 계속 추적 할 수 있으리라 기대하십니까? 진짜 질문은, 왜 그렇게하고 싶습니까? –

+0

글쎄, 내가 작은 멀티 모니터 도구를 쓰고 각 화면에 대한 설정을 저장해야하기 때문에. –

답변

0

EnumDisplayDevices API가있는 DeviceID 각 화면마다 고유 한 것으로 보이며 예를 들어 드라이버 업데이트 후 변경되지 않습니다.

WMI는 이전에 시도한 것처럼 나에게 질문이 아니며 다중 모니터 설정으로 하나의 모니터 만 반환합니다.

0

WinForms 대신 WMI를 사용해보십시오. (.의 DisplayDetails 클래스 등)

다음 포스트는 모니터와 자신의 정보를 가져 오는 방법을 보여줍니다 : Monitor ID and Serial Number

편집 :

나의 제안 : 나는 얻어서이 문제를 해결

using System.Management; 

ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_DesktopMonitor");  
foreach (ManagementObject obj in searcher.Get()) 
    Console.WriteLine("PNP Device ID: {0}", obj ["PNPDeviceID"]); 
+0

두 개의 모니터가 있는데 그 쿼리는 하나만 반환합니다. –