C++在VS2022开发Windows窗口程序1:第一个win窗口程序

Windows操作系统是由微软公司开发和维护的一系列图形化操作系统的统称。Windows操作系统主要用于个人计算机、笔记本电脑、平板电脑、服务器等设备上。Windows起源于Microsoft-DOS模拟环境,相比于DOS的指令化模式,Windows采用图形化的模式,因此更加的人性化。

Windows的程序主要分为控制台应用程序和GUI应用程序。控制台应用程序通常用于执行简单的命令行任务或系统管理,而GUI应用程序则用于提供更复杂的用户界面和功能,两种程序最显著的区别就是入口函数不同,控制台的入口函数是main函数,而WindowsGUI的入口函数是WinMain函数。本专栏主要以Windows的GUI应用程序为主

开发环境:VS2022、Win11系统。

首先打开VS2022,然后创建一个Windows桌面应用程序。

值得注意的是,VS2022还有一个默认的"Windows桌面向导"项目模板,使用Windows桌面向导项目,我们可以选择不同的桌面应用程序框架(如WPF、Windows Forms等),并提供了一些默认的设置和布局,以帮助我们快速搭建应用程序的基本结构。通过这个项目模板,就可以专注于应用程序的功能和界面设计,而无需从头开始搭建整个项目架构。

第一个项目的初始文件如下图所示:

运行代码如下。

这是VS2022自带的WindowsGUI程序的默认模板,我们暂时先不管它。

把这些默认文件删除掉,然后创建一个新的.cpp文件。

#include<Windows.h>
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR IpCmdLine, int nCmdSHow)
{
	MessageBox(NULL, TEXT("Hello World"), TEXT("my first windows application"), MB_OK);
	return 0;
}

 将上述代码复制到CPP文件中,然后运行代码。

一个简单的WindowsGUI程序就做好了,由于VS2022十分适合开发Windows程序,所以我们用VS2022进行编程非常低舒服,不用配置任何复杂的环境,就可以直接运行。

Windows.h头文件包含了Windows API的头文件,提供了Windows应用程序开发所需要的函数和数据类型的定义。

Windows.h

WinMain函数,是WindowsGUI程序的入口函数,相当于控制台程序里面的main函数,WinMain函数的主要作用是初始化应用程序,显示主窗口,并进入一个消息接收--------发送的循环,这个循环是应用程序执行的其余部分的顶级控制结构。

int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR IpCmdLine, int nCmdSHow)

WinMain的函数声明如下:

int CALLBACK WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow
);

- `hInstance`:当前实例的句柄。

- `hPrevInstance`:在32位Windows系统中已经废弃,始终为NULL。

- `lpCmdLine`:指向应用程序的命令行参数的指针。

- `nCmdShow`:初始窗口显示的方式,如最大化、最小化、正常等。

MessageBox函数,用于创建和显示一个消息框,其实用法就类似于大家刚学C语言时候用的printf函数,用于输出信息。

MessageBox(NULL, TEXT("Hello World"), TEXT("my first windows application"), MB_OK);

声明如下:

int MessageBox(
    HWND hWnd,
    LPCTSTR lpText,
    LPCTSTR lpCaption,
    UINT uType
);

- `hWnd`:消息框的父窗口句柄。如果为 `NULL`,消息框将显示在屏幕中央。

- `lpText`:要在消息框中显示的消息文本,通常是一个字符串。

- `lpCaption`:消息框的标题文本,将显示在消息框的标题栏中。

- `uType`:消息框的样式,指定了消息框的按钮组合、图标类型、默认按钮等属性。MB_OK就是一个OK按钮。

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 一个 Win32 程序通常由以下组件组成: 1. 主模块:一般是一个 .exe 文件,包含程序的入口点和主函数。 2. 资源文件:包含程序所需的资源,如图标、位图、字符串、菜单等。 3. 外部库:包含程序所需的库文件,如 Windows API 和其他第三方库。 4. 源代码:包含程序的源代码,可使用 C、C++、Delphi 或其他编程语言编写。 5. Makefile:用于编译和链接程序的脚本文件,指定编译器和编译选项。 6. 调试器:用于调试程序的工具,如 Visual Studio、WinDbg、OllyDbg 等。 7. 文档:包含程序的说明文档、用户手册等。 这些组件共同构成了一个完整的 Win32 程序。 ### 回答2: 一个Win32程序由多个组成部分构成,包括应用程序、模块、资源和库文件。 应用程序Win32程序的主体,它负责完成特定的功能。应用程序可以是窗口应用程序或控制台应用程序,具体取决于其界面形式。 模块是组成应用程序的各个部分,通常分为主模块和子模块。主模块负责程序的初始化和入口点,而子模块则用于实现应用程序的不同功能模块和库文件的功能。 资源是应用程序所需要的外部资源,如图标、位图、字符串、对话框等。通过资源可以使应用程序界面更加丰富,提供更好的用户体验。 库文件是为了方便程序开发而提供的预定义函数的集合。这些库文件包含了用于实现各种功能的函数,如操作系统API函数、常用数据结构等。开发者通过调用库文件中的函数来简化开发过程。 在Win32程序中,还包括头文件和源代码文件。头文件包含了程序中所需的各种函数、结构体和常量的声明,而源代码文件则包含了实际的函数实现。 总之,一个Win32程序的组成包括应用程序、模块、资源、库文件、头文件和源代码文件。这些组成部分共同协作,实现程序的功能,并提供用户良好的交互体验。 ### 回答3: 一个Win32程序的组成包括以下几个部分: 1. 程序入口点:每个Win32程序都有一个入口点,也就是一个被操作系统调用的函数。这个函数被命名为WinMain或者main,它作为程序的起点。 2. 窗口类:Win32程序通常使用窗口来与用户进行交互,并且每个窗口都有一个窗口类来定义其外观和行为。窗口类定义了窗口的样式、过程函数以及与其关联的图标、菜单、光标等。 3. 窗口过程函数:窗口过程函数是窗口类的成员,它定义了窗口的行为和响应用户的输入。窗口过程函数负责处理窗口消息,包括处理用户输入、绘制窗口、更新窗口等操作。 4. 消息循环:Win32程序运行时需要通过消息循环来处理系统产生的消息。消息循环不断地从系统消息队列中取出消息,并将其分发给对应的窗口过程函数进行处理。 5. 资源:Win32程序可以包含各种资源,如图标、菜单、位图、字符串等。这些资源可以嵌入到程序中,然后通过资源标识符来访问和使用。 6. 线程和进程管理:Win32程序可以创建多个线程来并发执行任务。通过线程和进程管理,程序可以控制线程的创建、销毁和同步,同时也可以管理进程的创建和销毁。 7. 用户界面:Win32程序可以使用各种控件和窗口样式来创建用户界面。通过API函数,程序可以创建、绘制和操作窗口、按钮、文本框等各种控件。 8. 库函数和API:Win32程序可以使用各种库函数和API函数来完成特定的任务,如文件操作、网络通信、图形绘制等。这些函数提供了丰富的功能和接口,方便程序开发和运行。 通过以上这些组成部分,一个Win32程序可以实现各种功能,包括创建窗口、处理用户输入、进行计算和操作、绘制图形、加载和保存文件等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咩咩大主教

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值