c# - 无需使用 API 或 WMI 即可获取监视器显示名称?

标签 c# .net vb.net winforms screen

我想知道 .NET Framework 类是否提供了一种检索显示器显示名称(例如:LG TV)的方法,而无需重复使用 WMI 或 WinAPI,我已经知道如何检索通过这些替代方案监视名称,这个问题是出于好奇,避免使用 API 或 WMI,以防可以使用 .NET ClassLibrary 来完成,以改进总体编码。

谢谢。

最佳答案

据我所知,答案是。有winforms类Screen.cs 它可以做一些基本的事情,但不会公开监视器显示名称。它公开了可用于进一步分析的 DeviceName(如果有帮助的话):

Screen.AllScreens[0].Dump()

会给你:

Screen[Bounds={X=0,Y=0,Width=1920,Height=1200} 
       WorkingArea={X=0,Y=0,Width=1920,Height=1160} 
       Primary=True 
       DeviceName=\\.\DISPLAY1]

我确实开始了MultiMonitorHelper该库应该旨在“抽象”掉所有这些无意义的 WinAPI/WMI 胡言乱语,但我从来没有抽出时间去做。不过,它在我的“想做的事情” list 上:p

关于c# - 无需使用 API 或 WMI 即可获取监视器显示名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25870487/

相关文章:

vb.net - 使用手机从 vb.net 应用程序发送短信

c# - WPF NotifyIcon不触发MouseEnter事件(显示工具提示时如何更新NotifyIcon View 模型)

c# - 在字节 [] 中查找 MBUS 电报

c# - 基于 app.config 值的不同 app.config appSettings

c# - C# 是否有方法内部方法的概念?

vb.net - 如何从另一个模块更改表单元素的属性

vb.net - Linq - 按多列分组不起作用,lambda 语法

c# - WPF 媒体元素,带有 https 的源失败

c# - 没有装箱的 Marshal.StructureToPtr

c# - asmx 网络服务 : client authentication