¿Cómo reconocer cuándo ha cambiado el número, la posición o la resolución de los monitores? [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo detectar el cambio de resolución de la pantalla en Delphi? 1 respuesta

Estoy creando algo que necesita detectar cuándo cambian las cosas con la configuración del monitor. Esto incluye el monitor agregado / eliminado, la posición del monitor movida (en comparación con la pantalla principal) o cuando la resolución del monitor ha cambiado. La forma más ideal sería capturar algunos mensajes de Windows, si los hubiera, que se activan cuando ocurren tales eventos. Esta información se utilizará para mantener un registro en tiempo real de los tamaños / posiciones del monitor en cualquier momento. Por ejemplo, cuando se aumenta la resolución de un monitor, mi aplicación lo detectará de inmediato y realizará sus propios ajustes para adaptarse al cambio. ¿Cómo capto estos eventos?

También estoy tratando de evitar el uso de VCL (comoVcl.Forms.Screen.MonitorCount) Es por eso que prefiero capturar un mensaje de Windows.

Respuestas a la pregunta(1)

Su respuesta a la pregunta