一个基于Windows API的简单窗口程序

这篇博客旨在介绍如何利用Windows API创建一个简单的窗口程序。从理解WinMain函数作为Windows程序的入口点开始,逐步讲解窗口的创建、消息循环和窗口过程函数的编写。通过实例代码展示了创建窗口的四个步骤:设计窗口类、注册窗口类、创建窗口以及显示和更新窗口。同时,提到了在VS2017环境下遇到的一些问题和解决方案,例如字符集设置、预处理器定义等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

了解Windows程序内部运行机制与做一个基于Windows API的简单窗口程序

目录

  • ​ 目的
  • ​ 开发环境
  • ​ 初识Windows
  • ​ 总结

目的

1、了解Windows操作系统应用程序基础原理概念;

2、掌握WinMain函数定义,创建窗口,消息循环及窗口过程函数;与动手做一个简单的Windows窗口程序

开发环境

1、Visual Studio 2017

初识Windows

学习Windows窗口应用程序的第一步是了解WinMain函数

同DOS程序相同,Windows同样有它自己的Main函数——>WinMain函数,也就是Windows的入口函数,它使得Windows启动与结束。
一个Windows程序的运行步骤:

1、WinMain函数的定义

2、创建一个窗口

3、进行消息循环

4、编写窗口过程函数

一个简单的例子来说明WinMain函数的定义

在这里插入图片描述

最简单的Windows程序就是如此显示一个消息窗口,代码如下:

#include<Windows.h>
int WINAPI WinMain(
	HINSTANCE hInstance, 
	HINSTANCE hPrevInstance, 
	LPSTR lpCmdLine, 
	int nShowCmd)
{
   
   

	MessageBox(NULL, "Visual C++", "窗口消息", 0); //显示消息对话框,MessageBox(句柄,显示内容,标题,MB_OK[此参数类型多种,如:MB_YESNO,MB_OKCANCEL等])
	return 0;
}

创建一个窗口(均用实例中的代码进行说明)

创建一个Windows窗口需要经过以下操作步骤:

1、设计一个窗口类;

2、注册窗口类;

3、创建窗口;

4、显示及更新窗口。

1️⃣、设计一个窗口类

	WNDCLASS wn1;											//定义一个窗口类
	wn1.style = CS_HREDRAW | CS_VREDRAW;					//窗口类的类型
	wn1.lpfnWndProc = Win1;									//窗口的过程函数(回调函数)
	wn1.cbClsExtra = 0;										//窗口类的附加内存,一般设置为0
	wn1.cbWndExtra = 0;										//窗口附加内存空间,通常设置为0
	wn1.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//画刷句柄通俗的说就是窗口的背景
	wn1.hCursor = LoadCursor(NULL, IDC_APPSTARTING);		//光标句柄;使用系统预定义光标时,第一个参数为NULL,第二参数有很多,仅限于系统预订光标
	wn1.hIcon = LoadIcon(NULL, IDI_ERROR)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值