judelaw
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору V0lt http://msdn.microsoft.com/en-us/library/dd162609(v=vs.85).aspx Remarks To query all display devices in the current session, call this function in a loop, starting with iDevNum set to 0, and incrementing iDevNum until the function fails. To select all display devices in the desktop, use only the display devices that have the DISPLAY_DEVICE_ATTACHED_TO_DESKTOP flag in the DISPLAY_DEVICE structure. To get information on the display adapter, call EnumDisplayDevices with lpDevice set to NULL. For example, DISPLAY_DEVICE.DeviceString contains the adapter name. To obtain information on a display monitor, first call EnumDisplayDevices with lpDevice set to NULL. Then call EnumDisplayDevices with lpDevice set to DISPLAY_DEVICE.DeviceName from the first call to EnumDisplayDevices and with iDevNum set to zero. Then DISPLAY_DEVICE.DeviceString is the monitor name. To query all monitor devices associated with an adapter, call EnumDisplayDevices in a loop with lpDevice set to the adapter name, iDevNum set to start at 0, and iDevNum set to increment until the function fails. Note that DISPLAY_DEVICE.DeviceName changes with each call for monitor information, so you must save the adapter name. The function fails when there are no more monitors for the adapter. Добавлено: Цитата: Ты не хочешь сделать отдельную функцию определения DeviceID? Я думаю ее надо внедрить в Monitors/MultiMonitor.h. | Да я не против. Я сделал так как сумел. Пример да, взял оттуда, попробовал - получилось. Так и оставил не заморачиваясь. Если одним циклом получится найти нужные нам значения (\\Display№, Device.Description, DeviceID) реальных физических устройств, а не всего г*на которое может быть определено (фейковые устройства, виртуальные и тп.) - то почему бы и нет. Я только за. Лишь бы работало как надо. Добавлено: Win32_PnPEntity не пробовал. У нас видеоадаптер может быть не один. Поэтому два цикла неизбежны, чтобы добраться до нужного нам ID монитора и случайно не подхватить что-то другое. | Всего записей: 2830 | Зарегистр. 22-09-2009 | Отправлено: 19:09 06-12-2011 | Исправлено: judelaw, 19:10 06-12-2011 |
|