Descripción general del mecanismo operativo interno del programa Windows

  
 

Windows
Sistema operativo
Interfaz de programación de aplicaciones (Interfaz de programación de aplicaciones) – función de API

Todas las funciones principales de Windows están en Windows.h Se hizo una declaración en el archivo de encabezado.


Manejar — el número de identificación del recurso.

El mensaje está representado por la estructura MSG.
typedef struct tagMSG {
HWND hwnd; //El mensaje pertenece a window
UINT message; //Identificador de mensaje 1
WPARAM wParam; //Mensaje mensaje adicional sin firmar 2
LPARAM lParam; //Mensaje adicional para mensaje largo
DWORD tiempo; //tiempo (int)
PUNTO pt; //posición del cursor
} MSG, * PMSG, * LPMSG;
1 Windows corresponderá al mensaje El valor se define como la forma de la macro WM_XXX
2 Ejemplo: el código ASCII del teclado presionando la tecla

Pasos básicos de implementación del programa win32:

I: Definición de la función WinMain

II: Crear una ventana

III: Hacer un bucle de mensajes

IV: Escribir una función de procedimiento de ventana


Función WinMain
int WINAPI WinMain (
HINSTANCE hInstance, //identificador de la instancia actual en ejecución
HINSTANCE hPrevInstance, //identificador de la instancia anterior1
LPSTR lpCmdLine, //cadena terminada en nulo que especifica la línea de comando que se pasó a la aplicación Parámetros
int nCmdShow //Estado de visualización de la ventana
);

1 En el entorno Win32, este parámetro siempre es NULL


Crear una ventana específica Paso:

I: Diseño uno Clase de ventana

II: Registrar clase de ventana

III: Ventana de creación

IV: Ventana de visualización y actualización


Estructura WNDCLASS Implementar diseño de clase de ventana

 typedef struct tagWNDCLASS {
 estilo UINT; //Estilo de ventana (puede usar &~ para eliminar estilos no deseados) 
 WNDPROC lpfnWndProc; //función de procedimiento de la ventana a la ventana ( Función de devolución de llamada) puntero 
 int cbClsExtra; //memoria adicional de la ventana de clase, generalmente establecida en 0 
 int cbWndExtra; //memoria adicional de la ventana, generalmente 0 
 HINSTANCE hInstance; //handle de instancia 
 HICON hIcon; //icon handle 1 
 HCURSOR hCursor; //mouse handle 2 
 HBRUSH hbrBackground; //background brush handle 3 
 LPCTSTR lpszMenuName; //menu, NULL sin ventana, menu No es una ventana 
 LPCTSTR lpszClassName; nombre de clase de ventana 
} WNDCLASS, * PWNDCLASS; 


Copyright © Conocimiento de Windows All Rights Reserved