Sistemas operativos modernos

(O, 0) (1023, 0) (0,767) (1023,767) Figura 5-40. Ejemplo de ventana ubicada en (200,100) en una pantalla XCA . Por ello, los programas de Windows están orientados a mensajes. Windows captura las ac­ ciones del usuario con el teclado o el ratón y las convierte en mensajes que se envían al progra­ ma dueño de la ventana con la que se está trabajando. Cada programa tiene una cola de mensajes a la que se envían los relacionados con su ventana. El ciclo principal del programa sa­ ca de la cola el siguiente mensaje y lo procesa invocando un procedimiento interno para ese ti­ po de mensaje. En algunos casos, Windows mismo podría invocar en forma directa esos procedimientos, pasando por alto la cola de mensajes. Este modelo es muy diferente del mo­ delo UNIX de código de procedimientos que emite llamadas al sistema para interactuar con el sistema operativo. A fin de aclarar este modelo de programación, consideremos el ejemplo de la figura 5-41. Ahí vemos el esqueleto de un programa principal para Windows. No está completo ni incluye ve­ rificación de errores, pero muestra suficientes detalles para nuestros fines. Lo primero que ha­ ce es incluir un archivo de encabezado, windows.h, que contiene muchas macros, tipos de datos, constantes, protofipos de funciones y demás información que necesitan los programas para Windows. El programa principal inicia con una declaración que da su nombre y sus parámetros. La macro WINAPI es una instrucción para el compilador que le ordena usar cierta convención pa-

RkJQdWJsaXNoZXIy MjI4NDcx