Re: help! "Multiple Monitors as Independent Displays"
От: Alex Fedotov США  
Дата: 30.03.02 18:20
Оценка:
Здравствуйте 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.
-- Alex Fedotov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.