Acerca de los escenarios de clasificación y uso de los mensajes de Windows

Acerca de la clasificación de los mensajes de Windows

En el desarrollo de Windows, solemos utilizar mensajes personalizados. En cuanto a la selección de valores de este mensaje, todavía es un poco particular. Vamos a echarle un vistazo hoy (para no perdernos de nuevo).

Los mensajes de Windows se pueden dividir en las siguientes categorías:

0 ~ 0x3FF (WM_USER - 1): mensaje del sistema

Este tipo de mensaje lo define y utiliza el sistema operativo. Tratamos de no definir nuestros propios mensajes en este rango, porque serán utilizados por el sistema operativo y reconocerán los parámetros WPARAM y LPARAM del mensaje, y los ordenará entre múltiples procesos (Marshal).

0x400 ~ 0x7FFF (WM_USER ~ WM_APP - 1): mensajes de Windows

Los mensajes definidos en este ámbito se utilizan principalmente en clases de Windows. Por ejemplo, el mensaje WM_USER + 1, si la ventana es un control de barra de herramientas, significa TB_ENABLEBUTTON, si la ventana es un control de información sobre herramientas, significa TTM_ACTIVATE, si la ventana es un cuadro de diálogo, entonces Este mensaje indica DM_SETDEFID. Si crea su propio control personalizado, puede expresar otro significado completamente diferente. Debido a que todos los desarrolladores pueden usar mensajes en este rango, el sistema operativo no puede saber claramente cómo analizar este mensaje, por lo que no se realizará la clasificación automatizada.

0x8000 ~ 0xBFFF (WM_APP ~ MAXINTATOM - 1): mensaje de definición de la aplicación

Los mensajes de este rango los define la propia aplicación. Este rango de mensajes se creó durante el período de Windows 95 para garantizar que los mensajes personalizados utilizados por las aplicaciones no afecten a los mensajes de Windows en versiones futuras de Windows. Al igual que los mensajes de Windows anteriores, los desarrolladores pueden usar mensajes en este rango, por lo que el sistema operativo no puede saber claramente cómo analizar este mensaje, por lo que no se realizará la clasificación automática.

0xC000 ~ 0xFFFF (MAXINTATOM ~ MAXWORD): Mensaje de registro

Este rango son principalmente los mensajes registrados a través de RegisterWindowMessage. Cabe señalar que el valor real del mensaje registrado puede variar con cada operación del sistema, por lo que debe utilizar RegisterWindowMessage para obtener el valor real del mensaje. Al igual que los mensajes de Windows anteriores, los desarrolladores pueden usar mensajes en este rango, por lo que el sistema operativo no puede saber claramente cómo analizar este mensaje, por lo que no se realizará la clasificación automática.

Supongo que te gusta

Origin blog.csdn.net/mmxida/article/details/107923815
Recomendado
Clasificación