Principios de programación de Win32
El llamado desarrollo Win32 consiste en utilizar directamente la API de Win32 para desarrollar aplicaciones de Windows o programas de sistema en el nivel de lenguaje C. Aunque no hay muchas personas que utilicen directamente la API Win32
para desarrollar aplicaciones, una comprensión profunda de los principios de programación del sistema Windows sigue siendo una buena manera de convertirse en un experto en desarrollo de Windows. El llamado Win32 es en realidad una especificación API que corresponde al estándar de interfaz de programación del sistema UNIX POSIX. La siguiente es la idea o marco básico para la programación SDK directa de WIN32
:
Un programa de Windows se divide en código de programa y UI (interfaz de usuario
p>
Interfaz de usuario) los recursos se dividen en dos partes. Las dos partes finalmente se integran en un archivo EXE completo utilizando el compilador RC. Los llamados recursos de UI se refieren a cosas como menús de funciones, cuadros de diálogo, íconos de programas, formas de cursor, etc. El contenido real (código binario) de estos recursos de la interfaz de usuario se genera con la ayuda de varias herramientas y existe en varias extensiones, como
.ico
.bmp
<. p >.cur y así sucesivamente. Los programadores deben describirlos en el llamado archivo de descripción de recursos (.rc). El compilador RC (
RC.EXE
) lee la descripción del archivo RC
y recopila todos los archivos de recursos de la interfaz de usuario para crear un .RES
Luego, el archivo se combina con el código del programa para formar un
archivo ejecutable de Windows completo.
Igual que un programa de consola, un programa Win32 también debe tener un punto de entrada de programa, pero aquí ya no se llama main(), sino que se llama WinMain() cuando el SHELL de WINDOWS detecta al usuario. ejecuta un programa EXE, se llama al cargador para cargar el programa y luego se llama al código C
inicio
, que luego llama a WinMain() y comienza la ejecución del programa. , el prototipo de la función WinMain() es:
int
CALLBACK
WinMain(
HINSTANCE
<. p>hInstance ,HINSTANCEhPrevInstance,LPSTR
lpCmdLine,int
nCmdShow);
El siguiente programa debe realizar el trabajo de inicialización necesario - generar una ventana, el primer paso es registrar una clase de ventana: use la función API: RegisterClass(), y esta función requiere una estructura del sistema ya definida: WNDCLASS. Esta estructura define varios atributos de la ventana y debe ser definida por. usted mismo, pero muchos atributos tienen valores predeterminados. Luego llame a la función CreateWindow() para generar una ventana registrada con las propiedades definidas anteriormente. Sin embargo, debe tenerse en cuenta que solo genera la ventana pero no la muestra, por lo que también necesita llamar a una función ShowWindow() para mostrarla. en la pantalla Do Después de completar estas tareas de inicialización, el sistema ingresará al bucle de mensajes:
while
(GetMessage(&msg,
NULL,
0,
0)){
TranslateMessage(&msg);
DispatchMessage(&msg);}
Cuando el bucle de mensajes captura el mensaje, se entregará a la función de ventana WndProc() para el procesamiento correspondiente. De esta forma se estableció el prototipo de un programa WIN32 impulsado por eventos de mensajes.