[C con Clase] Parámetros de WM QUIT y PostQuitMessage() en WinAPI

David Reza l.fix3r.l en gmail.com
Jue Jul 17 06:07:47 CEST 2008


Hola Salvador,

Creo que no me estoy dando a entender; yo también tiendo a enrollarme ;-).

Mi duda es más bien con wParam y nExitCode.

Supongamos que utilizo la función 'PostQuitMessage()' de la siguiente
manera:

...
> PostQuitMessage(0);
> ...
>

El valor de nExitCode es 0, ya que 'nExitCode' es el parámetro de la función
'PostQuitMessage()'. Hasta allí vamos bien.
También se supone que esta función envía el mensaje 'WM_QUIT' al bucle de
mensajes, pero, ¿lo hace de forma inmediata, saltándose cualquier otro
mensaje que hubiese en la cola de mensajes, o se va al final de la cola de
mensajes?

Dentro del curso me encontré con lo siguiente:

La función PostQuitMessage envía un mensaje WM_QUIT *a la cola de mensajes*


Esto me hizo dudar si el mensaje se envía a la cola de mensajes o
directamente a la aplicación ( como lo hace 'PostMessage()' con otros
mensajes. )

Una vez que el mensaje llega a 'GetMessage()', éste retorna False y de ahí
qué es lo que sucede?
Sigue con la siguiente instrucción? En mi caso 'return mensaje.wParam;'

El 'wParam' supongo que pertence a la estructura MSG o tag_MSG. Pero como ya
he mencionado, el curso muestra algo así:

WM_QUIT
> nExitCode = (int) wParam;
>

Y a mi modo de entender, las cosas deberían ser al revés:

wParam = nExitCode;

para que de esta manera, el valor de 'nExitCode' ( pasado por parámetro a la
función 'PostQuitMessage()' ) se asigne a el campo 'wParam' de la variable
de estructura declarada al principio, es decir, 'mensaje'.

Si ésto no es así, agradecería una explicación.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080716/3bbd8f7e/attachment-0001.html>


Más información sobre la lista de distribución Cconclase