Что такое уведомление при изменении количества мониторов?
Мне любопытно, что за сообщение Win32 транслируется при изменении количества мониторов в системе? Я думал, что это был WM_DISPLAYCHANGE, но я был не прав.
1 ответ
Это довольно легко проверить с Microsoft Spy++
, В моем случае я проверил Windows 7 x64 с двумя подключенными мониторами и выключил и снова включил второй монитор.
При удалении монитора вы увидите WM_DISPLAYCHANGE
, но не при добавлении монитора.
Вы увидите WM_DEVICECHANGE
с DBT_DEVNODES_CHANGED
(после RegisterDeviceNotification).
Ты увидишь WM_SETTINGCHANGE
за SPI_SETWORKAREA
а также SPI_ICONVERTICALSPACING
,
И вы увидите зарегистрированные сообщения "UxdDisplayChangeMessage" и "HotplugDetected" (второе только при добавлении монитора). Вы можете использовать RegisterWindowMessage, чтобы получить идентификатор для этих сообщений.