专栏导航上一篇第1章[Win32 章节]API 及 内存管理模式回到目录下一篇第1章 第一个 Win32 程序程序入口本节前言本节的标题中所说的 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.txtFiLe.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里面我们将鼠标光标移动到第 1 行的【Windows.h】单词的所在区域然后点击鼠标右键弹出下图所示的右键菜单。图2在图2所示的右键菜单里在红色框线所示的位置是一个菜单项我们单击这个菜单项或者按下这个菜单项所指示的快捷键 F12结果如下图所示。图3图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 程序的剩余代码的讲解我们在以后的章节里来进行。本节结束。专栏导航上一篇第1章[Win32 章节]API 及 内存管理模式回到目录下一篇第1章 第一个 Win32 程序程序入口