我有一个指向显示输出的IDXGIOutput1。但是,我似乎找不到任何方法可以将其转换为您可以在屏幕分辨率(例如Windows 7)上看到的显示器的面向用户的名称。到目前为止,我已经尝试了this答案(并检查了其他两个引用的WMI属性)以及this问题和答案中的代码。但是到目前为止,我得到的最好的是“Generic PnP Monitor”。屏幕分辨率给出的名称是“Acer V243H”之类的东西。

最佳答案

您可以使用每个监视器的EDID(扩展显示标识数据)来获取每个监视器的供应商和型号。这是OS在此获取与系统相连的每个监视器的所有信息的地方。

您可以按照本文介绍如何在Windows 7中获取EDID数据结构的方式进行操作:Win32 code to get EDID in Windows XP/7

然后基于EDID format,您要查找的信息将位于偏移量54与125之间的描述符块之一中。

EDID Manager工具可能会帮助您在漂亮的GUI中遍历EDID,因此您可以准确地看到所需信息在EDID结构中的位置。

10-08 13:42