gpt4 book ai didi

windows - 在 Windows 上检测 DisplayPort(相对于 DVI?)?

转载 作者:可可西里 更新时间:2023-11-01 10:50:00 24 4
gpt4 key购买 nike

我想确定(当前事件的)显示器是否通过 DisplayPort 连接(出于我的目的,我可以假设未通过 DP 连接的显示器是 DVI 连接。)是否有任何 Windows API 可以获取此信息信息?

虽然维基百科确实提到我可以从 EDID 中读取一些信息,但我没有在 displayport.org 上看到有关如何处理此问题的任何信息。我还发现了一些关于使用 C# 中的 WmiMonitorID System.Management 接口(interface)的代码片段(.NET 或 C++ 解决方案都可以),但这似乎没有提供详细信息。

需要 NVidia 或 ATI 特定扩展的解决方案也是可以接受的,前提是它们可以与当前产品一起使用。

最佳答案

我似乎找到了使用 WmiMonitorConnectionParams 的解决方案类(class)。 VideoOutputTechnology 字段映射到 D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY枚举。

在初始测试中,我得到了笔记本系统的 D3DKMDT_VOT_DVI 返回值和来自 DP 连接显示器的 D3DKMDT_VOT_DISPLAYPORT_EXTERNAL 返回值。

例如


using System.Management;



<p>...</p>

<pre><code> ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\WMI",
"SELECT * FROM WmiMonitorConnectionParams");

foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("WmiMonitorConnectionParams:");
foreach (PropertyData pd in queryObj.Properties)
{
string name = pd.Name;
string val = pd.Value.ToString();
Console.WriteLine("{0} = {1}", name, val );
}
}
</code></pre>

这似乎可行 - 但我仍然对任何其他方法感兴趣。

关于windows - 在 Windows 上检测 DisplayPort(相对于 DVI?)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8229377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com