c++ 获取显示器的连接端口类型(VGA,HDMI,DVI等等)

由于研究需要,需要获取当切换显示器或者其他显示设备的时候,所使用的接口类型。现在主要的端口有HDMI,VGA和DVI等。之前从网上逛了一下,发现大部分人都采用EnumDisplayDevices等函数来获取,但是这些函数返回的信息中,并不包含接口类型。还有很多人说这个信息只能从底层驱动中来进行获取,这个岂不是让我写相关硬件开发代码。。。后来终于在这里(http://stackoverflow.com/questions/9902908/getting-display-device-output-type-with-directx)找到了希望。

具体操作其实很简单,就是连接WMI,之后从WmiMonitorConnectionParams这张表里面获取所有连接的显示设备的输出类型。得到输出类型代码之后,可以从这里(http://msdn.microsoft.com/en-us/library/windows/hardware/ff546605%28v=vs.85%29.aspx)获取到具体的类型,里面就有HDMI,VGA和DVI等端口类型。

如果你希望当设备及时获取这个信息,你可以在系统中,抓取WM_DISPLAYCHANGE消息,之后再这个消息处理中,进行WMI的信息查询。


注:WMI查询可以参考:http://blog.csdn.net/fdyang2008/article/details/7615708


你可能感兴趣的:(c++,Windows,C++,wmi,windows)