我很好奇,当系统中的显示器数量发生变化时,Win32通知是什么广播? 我认为这是WM_DISPLAYCHANGE,但我错了。
这是很容易与Microsoft Spy++
检查。 在我的情况下,我检查了两台显示器连接的Windows 7 x64,然后关闭第二台显示器。
删除显示器时,您将看到一个WM_DISPLAYCHANGE
,但不会在添加显示器时显示。
您将看到一个带有DBT_DEVNODES_CHANGED
的WM_DEVICECHANGE
(在RegisterDeviceNotification之后)。
您将看到SPI_SETWORKAREA
和SPI_ICONVERTICALSPACING
WM_SETTINGCHANGE
。
你会看到注册的信息“UxdDisplayChangeMessage”和“HotplugDetected”(仅当添加监视器时才是第二个)。 您可以使用RegisterWindowMessage获取这些消息的标识符。