首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >识别显示器

识别显示器
EN

Stack Overflow用户
提问于 2012-05-20 05:37:21
回答 2查看 1.2K关注 0票数 5

我正在尝试识别多显示器设置中的一个屏幕,以保存链接到该屏幕的一些数据。在重新启动后,我如何可靠地识别屏幕?

我知道.Net中的Screen类,但Screen.DeviceName似乎不能始终指向一个屏幕(例如,在安装新的图形驱动程序之后)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-29 20:11:36

我通过使用EnumDisplayDevices应用编程接口获取DeviceID解决了这个问题。似乎对每个屏幕都是唯一的,并且在驱动程序更新后不会改变。

WMI对我来说是不可能的,因为我以前尝试过它,它只返回一个监视器与我的多监视器设置。

票数 0
EN

Stack Overflow用户

发布于 2012-05-21 02:08:28

尝试使用WMI而不是WinForms。

下面的帖子展示了如何获取监视器及其详细信息(例如,s.DisplayDetails类):Monitor ID and Serial Number

编辑:

我的建议是:

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10669024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档