Red de conocimiento informático - Conocimiento informático - Si estoy escribiendo en C y necesito interfaces de entrada y salida, ¿cómo puedo usar la API para lograrlo?

Si estoy escribiendo en C y necesito interfaces de entrada y salida, ¿cómo puedo usar la API para lograrlo?

Primero, debes crear un proyecto de programa WIN32, no un proyecto de consola.

Después de agregar el siguiente código:

#include

#include

#include < string.h>

#include<.math.h>

#define pi 3.1415

LLAMADA DE RESULTADO WndProc(HWND,UINT,WPARAM,LPARAM); / /Descripción de la función de ventana

////////////// -------------------- Lo siguiente inicializa el clase de ventana-- ---------------//

int WINAPI WinMain(HINSTANCE hInstance,//Descripción de la función WinMain

HINSTANCE hPrevInst,

LPSTR lpszCmdLine,

int nCmdShow)

{

HWND hwnd;

MSG Msg;

WNDCLASS wndclass;

char lpszClassName[]="Ventana";//Nombre de clase de ventana

char lpszTitle[]="Programa de muestra de ventana";//Ventana Nombre del título

// Definición de clase de ventana

wndclass.style=0; // El tipo de ventana es el predeterminado

wndclass.lpfnWndProc=WndProc;// La función de procesamiento de ventana es WndProc

wndclass.cbClsExtra=0; //La clase de ventana no tiene extensión

wndclass.cbWndExtra=0 //La instancia de ventana no tiene extensión

wndclass.hInstance= hInstance; // Identificador de instancia actual

wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//Usa el icono predeterminado

wndclass.hCursor= LoadCursor(NULL,IDC_ARROW);// La ventana usa un cursor de flecha

wndclass .hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//El fondo de la ventana es blanco

wndclass.lpszMenuName =NULL;//No hay menú en la ventana

wndclass.lpszClassName=lpszClassName;//El nombre de la clase de ventana es "Ejemplo de ventana"

//-------- ----------- - siguiente registro de clase de ventana -------------

if(! RegisterClass(&wndclass))//Sonido de advertencia si se registra falla

{MessageBeep( 0);

devuelve FALSO;

}

p>

Operación CreateWindow

hwnd= CreateWindow(lpszClassName,//Nombre de clase de ventana

lpszTitle, //Nombre de título de la instancia de ventana

WS_OVERLAPPEDWINDOW, //El estilo de la ventana

CW_USEDEFAULT,CW_USEDEFAULT,//Las coordenadas de la esquina superior izquierda de la ventana

CW_USEDEFAULT,CW_USEDEFAULT,//La altura y el ancho de la ventana son valores predeterminados

<. p> NULL, //Esta ventana no tiene ventana principal

NULL, //Esta ventana no tiene menú principal

hInstance, //La identificador actual de la aplicación

NULL); //no usar este valor

ShowWindow(hwnd,nCmdShow); //mostrar la ventana

UpdateWindow(hwnd); //dibuja el área de usuario

while(GetMessage(&Msg,NULL, 0,0)) //bucle de mensajes

{

TranslateMessage(&Msg);

DispatchMessage(&Msg);

}

return Msg.wParam; //return Msg.wParam; mensaje cuando el programa finaliza Sistema

}

//Funciones de ventana

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam, LPARAM lParam)

{

switch(iMessage)

{

//Agrega código de procesamiento de mensajes aquí

}

switch(iMessage)

{

case WM_DESTROY:

PostQuitMessage(0); //llama a la función Enviar mensaje WM_QUIT

predeterminado:

devuelve DefWindowProc(hWnd,iMessage,wParam,lParam);

}

devuelve 0;

}