第 1 章,[标签 Win32] :第一个 WIn32 程序,头文件
专栏导航
上一篇:MFC 第1章:用 VS2010 编写 WIndows SDK 程序
回到目录
下一篇:无
本节前言
本节的标题中所说的 Win32,其实是作为 WIndows SDK 程序的一个别名,来使用的。
现如今,Windows SDK 里面使用的,应该是 64 位的 WIndows API,而不是 32 位的 Windows API 。32 位的 WIndows API,才被叫做 Win32 。不过,个人的习惯,还是喜欢将 Windows API 或者 WIndows SDK 称作 Win32 。
在前两节,我们分别讲解了,用 VS2019 和 VS2010 来编写 Win32 程序的流程。此后,对于编写 Win32 程序的流程,我就不再重复了。包括,本节,你有可能也会需要自己去新建一个 WIn32 解决方案,这个,也是由你自己来完成,我只是提供一点说明,并给出 VS2019 编写 Win32 程序的文章链接。
本节,我们开始讲解第一个 Win32 程序,其实就是去讲解前面的两节所用到的那个程序代码。
完整地讲解这个代码,需要花费很多的篇幅。因此,我打算分成几篇文章,来讲解它。本节,我们只讲解头文件的部分。
一. 本节代码
本节所用的代码如下。
#include <Windows.h>int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
{MessageBox(NULL, TEXT("这是一个 Windows SDK 程序"),TEXT("WIndows SDK"), 0);return 0;
}
其实它跟前两节所用的代码,是一样的。
本节,你可以直接使用前两节的解决方案,也可以新建一个解决方案,并添加一个 C++ 源文件,在源文件里面,将上述代码拷贝进去。然后去编译运行程序。
二, 参考代码
为了讲解本节代码,我们还需要给出参考代码。
参考代码如下。
#include <stdio.h>int main(void)
{printf("这是一个控制台程序。\n");return 0;
}
这是一个 C 语言控制台程序。接下来,我们通过 C 语言控制台程序和 C++ Win32 程序的对比,来了解 Win32 程序的一点基础知识。
三. 头文件
在参考代码里面,我们首先使用的头文件语句如下。
#include <stdio.h>
而在 Win32 程序里面,程序的开头的头文件语句如下。
#include <Windows.h>
也就是,编写控制台程序的时候,需要使用的是 stdio.h 头文件,而编写 Win32 程序,需要使用 Windows.h 头文件。
在佩措尔德先生的原版代码里面,他使用的,并不是 WIndows.h 头文件,而是 windows.h 头文件,首字母是小写的。
Windows.h 和 winodws.h 有何不同,其中一个包含另外一个?不是的。在 WIndows 操作系统里面,在同一个文件夹下面,假定有一个名为 file01.txt 的文本文件,则在称呼它的时候,你可以将其称作 File01.txt,可以将其称作 FILE01.txt,FiLe.TXT 等等,总之,WIndows 操作系统里面,它是不区分文件名中的英文字母的大小写的。
也就是说,Windows.h 与 windows.h 所指的,是同一个头文件。
因此,你大可以在 C 语言控制台程序里面,将【#include <stdio.h>】替换为【#include <STDIO.h>】。
Windows.h 头文件,编写几乎所有的 Win32 程序都要用到它。
Windows.h 是一个重要的头文件,它里面包含了许多的其他的 Windows 头文件,其中的某些头文件又包含了另外的头文件。下面给出几个基本的头文件。
- Windef.h 基本数据类型定义
- Winnt.h 支持 Unicode 的类型定义
- Winbase.h 内核函数
- Winuser.h 用户界面函数
- Wingdi.h 图形设备接口函数
这些头文件定义了 Windows 的所有数据类型、函数调用、数据结构以及常量标识符,它们在 Windows 文档中占有重要的地位。
四. 查阅头文件的内容
也许,你很好奇,Windows.h 里面究竟是包含了什么内容。那么,你可以跟着我来做。
首先呢,找到你的 VS2019 界面,假定你跟我一样,是用 VS2019 建立的 Win32 解决方案。

在图1里面,我们将鼠标光标移动到第 1 行的【Windows.h】单词的所在区域,然后点击鼠标右键,弹出下图所示的右键菜单。

在图2所示的右键菜单里,在红色框线所示的位置,是一个菜单项,我们单击这个菜单项,或者按下这个菜单项所指示的快捷键 F12,结果如下图所示。

图3的右上角有一个橙色背景色的选项卡,表明,此时我们打开的是橙色选项卡的选项卡名称所示的文件,【Windows.h】。中间区域的内容,便是此头文件的部分内容。估计会很长,你可以粗略地浏览。
看完了以后,点击橙色选项卡里面的叉号,关闭这个 Windows.h 头文件的显示,回到我们的本节代码中来。
也许,你还很好奇,【Winnt.h】或者【Wingdi.h】里面包含了什么内容。
那么,你可以在【WInMain.cpp】中,添加一行代码,【#include <Winnt.h>】或者【#include <Wingdi.h>】。然后呢,鼠标光标移动到头文件名字所在的区域,也就是【Winnt.h】或者【Wingdi.h】所在的区域,然后点击鼠标右键,在弹出的右键菜单中,单击【转到文档 xxx】菜单项,就可以查看【Winnt.h】或者【Wingdi.h】的内容了。
你也可以用上面的方法来查看【Windef.h】,【WInbase.h】等等的头文件的内容。
有一点哈,如果你确实在代码中添加了类似于【#include <Wingdi.h>】的代码,请你在查看完了相应的头文件内容以后,请将你所添加的这个代码给删掉,或者将其注释掉。因为,添加这样的代码行,只是为了临时地查看相关头文件,并不是说,我们的代码里面,真的需要这样的程序语句。
结束语
本节的内容,应该是不难的。
对于查看代码中的头文件的方法,请大家务必掌握。
虽说是一个小技巧,但是呢,以后,也许,你会经常使用这样的功能的。
尤其是,当你想要深入地学习 Windows 程序设计的时候,某些个系统文件,你还真的会需要好好地阅读它们的。不过,这是在你完成了基础知识的学习,具备了相当的编程经验以后,才需要去考虑的事情。现在,你只需要学会查看代码中的头文件,学会这一小技巧。
关于本节所涉及的 WIn32 程序的剩余代码的讲解,我们在以后的章节里来进行。
本节结束。
专栏导航
上一篇:MFC 第1章:用 VS2010 编写 WIndows SDK 程序
回到目录
下一篇:无