我正在尝试枚举多显示器系统上连接的所有显示器的详细信息。所以我引用了this示例代码。完整代码供引用:#include#include#pragmacomment(lib,"user32.lib")voidDumpDevice(constDISPLAY_DEVICE&dd,size_tnSpaceCount){printf("%*sDeviceName:%s\n",nSpaceCount,"",dd.DeviceName);printf("%*sDeviceString:%s\n",nSpaceCount,"",dd.DeviceString);printf("%*sStateFlag
EnumDisplayMonitors列出当前激活的所有监视器。但是,它似乎没有返回禁用的(即未选中“将我的桌面扩展到此显示器”的那些)。我如何计算包括那些残疾人在内的人数? 最佳答案 好的,所以首先你必须创建一个设备上下文:http://msdn.microsoft.com/en-us/library/dd183490(v=VS.85).aspx以下代码将为您提供所有监视器:CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL)然后您将调用DeviceContext的EnumDisplayDevices,
我遇到了this有人想使用EnumDisplayDevices找出他们的显示器名称的帖子。这正是我想要的,我尝试在C++中做一些类似的事情,但对EnumDisplayDevices的第二次调用似乎从未返回任何东西,我只得到关于显卡的信息。DISPLAY_DEVICEdd;memset(&dd,0,sizeof(DISPLAY_DEVICE));dd.cb=sizeof(dd);inti=0;while(EnumDisplayDevices(NULL,i,&dd,0)){Log(_T("DeviceName:%sDeviceString:%s"),dd.DeviceName,dd.Dev
我正在尝试以编程方式获取有关我的显示器的信息。循环的内容现在并不重要,它们只包含在满足循环条件时将打印的调试语句。现在,外循环代码执行了3次,而内循环代码从未被访问过,这意味着(内)循环的while条件永远不会为真,这意味着调用失败。我的问题是WindowsAPI说,关于这个函数:Toobtaininformationonadisplaymonitor,firstcallEnumDisplayDeviceswithlpDevice>settoNULL.ThencallEnumDisplayDeviceswithlpDevicesettoDISPLAY_DEVICE.DeviceName
目前我有一个函数,我希望它返回事件监视器的数量(通过使用EnumDisplayDevices)。...DISPLAY_DEVICEdd;dd.cb=sizeof(DISPLAY_DEVICE);while(EnumDisplayDevices(NULL,numberofDeviceAdapters,&dd,EDD_GET_DEVICE_INTERFACE_NAME)){if(dd.StateFlags==DISPLAY_DEVICE_ACTIVE){numberOfActiveMonitors++;}numberofDeviceAdapters++;}returnnumberOfAct
对于我当前的C++项目,我需要为在大量计算机上连接并处于事件状态的每个监视器检测一个唯一的字符串。研究指出了两种选择使用WMI并查询Win32_DesktopMonitor以获取所有事件监视器。使用PNPDeviceID来唯一标识监视器。使用EnumDisplayDevicesAPI,向下挖掘以获取设备ID。我对使用设备ID进行唯一型号标识很感兴趣,因为使用默认即插即用驱动程序的显示器将报告通用字符串作为显示器名称“默认即插即用显示器”我一直在使用WMI方法时遇到问题,它似乎只在我的Vista机器上返回1个显示器,查看doco结果表明它在非WDDM设备上无法按预期工作。EnumDisp