winapi - ¿Mensaje de Windows no documentado 0x0313 estable?

Encontré este mensaje de Windows no documentado, código hexadecimal: 0x0313 que se envía cuando un usuario hace clic derecho en el botón de la barra de tareas de la aplicación. ¿Es estable para usar/capturar?

preguntado el 03 de mayo de 12 a las 12:05

La vista previa del consumidor de Windows8 está disponible, podría ser una buena idea ver si el mensaje existe allí. -

4 Respuestas

No hay garantías, pero en la práctica probablemente no desaparecerá.

Lo busqué en Google solo para asegurarme de que no sea, por ejemplo, un mensaje MFC documentado.

Un resultado, de http://delphi.about.com/od/vclwriteenhance/a/ttaskbarmenu.htm:

Cuando hace clic con el botón derecho en un botón de la barra de tareas, Windows envía un mensaje no documentado ($0313) a la ventana de la aplicación correspondiente. La WPARAM no se utiliza (cero) y la LPARAM contiene la posición del ratón en coordenadas de pantalla, en el formato habitual. Por defecto, WindowProc maneja este mensaje abriendo el menú del sistema en las coordenadas dadas.

Aparentemente, puede usarlo para abrir su propio menú personalizado, pero antes de hacerlo, usaría, por ejemplo, Spy ++ para verificar si posiblemente genera mensajes documentados que pueden procesarse en su lugar.

contestado el 03 de mayo de 12 a las 12:05

En Win7 esto solo funciona con el modificador de turno. No funciona con el clic derecho regular. - Silviu Marian

Ha estado funcionando durante muchos años, por lo que aunque, por supuesto, no hay garantía de que funcione en una versión futura, es más probable que lo haga.

contestado el 03 de mayo de 12 a las 12:05

Las características y los mensajes no documentados están sujetos a cambios. No debe confiar en que este mensaje se envíe de la misma manera en otra versión de Windows o que los parámetros estén en el mismo formato.

contestado el 03 de mayo de 12 a las 12:05

Sería estable de usar si pudiera garantizar que funcionará en:

1) Todas las versiones de Windows actualmente en uso.

2) Todas las versiones de Windows que se lanzarán durante la vida útil esperada de su aplicación.

Entonces no.

contestado el 03 de mayo de 12 a las 12:05

Seguramente, debido a que la clase CFrameWnd mfc actual se basa en este mensaje para mostrar el menú, si se cambiara en versiones futuras, ¿también dejaría obsoleto todo lo que usa la clase CFrameWnd...? - user965369

Hay varios casos bien documentados de MFC que se rompen en las versiones más recientes de Windows. - Deanna

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.