当前位置: 首页 > news >正文

第 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里面,我们将鼠标光标移动到第 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 程序的剩余代码的讲解,我们在以后的章节里来进行。

本节结束。

专栏导航

上一篇:MFC 第1章:用 VS2010 编写 WIndows SDK 程序

回到目录

下一篇:无

相关文章:

  • pthread_once函数使用场景与原理
  • 设计模式精讲 Day 5:原型模式(Prototype Pattern)
  • NAT 与代理服务器 -- NAT,NAPT,正向代理,反向代理
  • 强化学习之 DQN、Double DQN、PPO
  • 黑马python(八)
  • springboot使用nacos注册中心、配置中心的例子
  • AndroidView的简单使用
  • 物制药自动化新突破:EtherNet/IP转Modbus TCP网关模块实战应用
  • 【AI Study】第四天,Pandas(6)- 性能优化
  • 系统思考与核心竞争力
  • 【AI论文】ReasonMed:一个370K的多智能体生成数据集,用于推进医疗推理
  • OpenStack 入门体验
  • wireshark过滤器的使用
  • 21.加密系统函数
  • 海豚人工智能与大数据实验室的指导和系统内的指导文件是不一样的​
  • Pandas 中的 Period 对象
  • Android 中 解析 JSON 字符串的几种方式
  • man 的用法
  • 数据卷能管理两边,使其数据一致?——补充
  • 5G光网络新突破:<Light: Science Applications>报道可适应环境扰动的DRC实时校准技术
  • 有哪些公众号是小黄油的/优化培训内容
  • 深圳电商平台网站建设/360应用商店
  • 局网站建设自查/外贸建站平台
  • 郑州做网站的联系方式/惠州seo建站
  • 什么是建设网站与靠前/广州百度关键词搜索
  • 有网页源码 怎么做网站/深圳网络营销推广服务