Win32 编程 Windows API 使用(一)

1. Window API

通常,Win32 是指WindowsAPI,也指 Microsoft Windows 操作系统的 32 位环境,和 Win64  Windows 常见环境。早期的操作系统为16位(window1.0),Win98/XP之后出现32位和64位,Win32即也是32位和64位的统称。

所谓Win32 编程,即主要使用GUI 构图,编写一套程序。除了使用原生的Window API,还有MFC框架。在Window视窗底层绘图中,微软系统仍保留了GDI,GDI+ 绘图支持,但新式的系统,微软更推荐使用DirectX(Direct2D 和 Direct3D)

 

2. 简单窗口

假设有这样一种需求,你需要每周的班级的黑板报,大概流程思路是:

 (1)设计定模板(选出风格)-- (2)指导员审核通过 --- (3)开始构图素描 --- (4)上色和填充内容  -- (5)向大家展示

由于需要经常出黑板报,为了简化工作,你大致把这种风格做成了常用的几个模板,以后每次黑板报只需先敲定版式,然后填字和上色内容

有了以上的初步概念,再转入Window API, 微软在提供接口函数(C语言)时,也基本类似这种流程

备注: 先设计一种窗口类,给注册给系统。 这里的类并不是C++或JAVA中的类,它只是一种结构体,对于操作系统而言的称呼。当然,如果是常见的Button,Edit和弹框等,Window默认已经提供,这里并不需要设计和注册,直接可以使用。

到此,我们可以利用系统自带的窗口,创建一个简单的弹框窗口流程:

前提:先安装Visual Studio(案例中使用Visual Studio2022)

步骤1) 打开Visual Studio2022,选择创建新建项目

步骤2)选择Windows桌面向导(注意,不是控制台程序,而是桌面程序)

步骤3)给这个测试项目取个名字,这里选择默认的Project1

 

步骤4)在点击创建,并在应用程序类型下拉框中选择 :桌面应用程序。 另外,勾选空项目,避免在学习初期过多的杂项内容影响

步骤5)在“源文件”的地方,鼠标右键,选择‘添加’ ,选择‘新建项’

步骤6)选择C++ 文件,文件名称可以是 test.c ,也可以是默认的 test.cpp (为了方便其他所有项目,后续统一为test.c)

步骤7)生成源文件后,双击选择,并在编辑内容,填写C代码。

 


#include<Windows.h>

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{
	MessageBox(NULL, L"提示内容", L"提示的标题", 0);
}

 

代码解释:

1)windows.h 是一个最重要的包含文件,它囊括了若干其他 Windows 头文件,其中的某些头文件又包含另外的一些头文件。

 

2)int WINAPI wWinMain,与普通的 int main 一致, 是函数的主入口, 其中WINAPI 函数一种约定,是函数的修饰符。

另外值得一提的是, WinMain 有两个衍生版本的名字,分别对应两种编码。由于历史的积累,在编程过程中,可以发现很多类似的函数。对于新的操作系统和程序,官方也推荐统一使用UTF8编码,即建议以后只使用w开头或者w结尾的函数名

w 也就代表了宽字符,方便程序的国际化。 字符串开头需要使用L来标识,如L"hello world"

4个参数都是默认参数,所有程序都需要照写

 

3) MessageBox 是系统提供的类(准确说,是windows.h 库文件中已有定义包含),因此不需要额外设计,可直接使用

 

posted @ 2024-01-21 11:40  nerocm  阅读(77)  评论(0编辑  收藏  举报