Здравствуйте Duck, Вы писали:
D>Нужно получить hdc для secondary display. Пробывал следующим образом:
D>DEVMODE dm; D>ZeroMemory(&dm, sizeof(dm)); D>dm.dmSize = sizeof(dm); D>EnumDisplaySettings(_T("\\\\.\\DISPLAY2"), ENUM_REGISTRY_SETTINGS, &dm); D>HDC dc = CreateDC(_T("\\\\.\\DISPLAY2"), 0, 0, &dm);
D>dc все время равен нулю, пробывал пазличные графические режимы. Что не так?
Последний параметр CreateDC должен быть NULL.
Кроме того, это не совсем корректно указывать \\.\DISPLAY2 в надежде на то, что это всегда будет второй дисплей. Это может оказаться какой-нибудь mirror driver. Правильный способ получить имя устройства, это вызвать EnumDisplayDevices, и по флагам, возвращаемым в DISPLAY_DEVICE.StateFlags, определить какое устройство тебе нужно, после чего использовать имя, указанное в DISPLAY_DEVICE.DeviceName.