1.前言
第一章我曾说过,C/C++ 是无所不能的,但若你只学C/C++本身,就又会发现自己什么都干不了。
所以从这章开始,我们就正式开始学习一些特定方向的知识,从最熟悉的开始,比如我们用的最多的windows平台上的软件,都是怎么开发出来的?
这就涉及到了windows平台的软件开发相关知识。
2.windows编程介绍
所谓windows
编程,就是指我们写的程序代码最终只能在windows
系统上运行,该程序乃至源代码在其它平台无法运行以及编译(比如安卓、linux、mac等等)。
而之所以我们在windows
编程中写的程序无法在其它系统中运行,就是因为我们调用了很多win API
函数。
比如上一章我们用到的URLDownloadToFileA
,这个强大的函数就是windows
系统提供给我们用的,而其它平台就没有这个函数。
所以总结一下就是,C/C++语言本身是跨平台、无所不能的,可如果你的代码中包含了某个平台所特有的函数,那么你所写的代码,就只能在该平台编译运行。
所谓windows
编程,指的就是使用win API
的过程,通过win API
进行windows
系统上的程序开发。
目前windows系统的总体市场占有率依旧还是很高,并且其生态已经相当完善了,相信即使再过十年二十年,windows都很难被淘汰,所以了解一下windows编程对你来说应该是很有帮助的。
windows系统是微软旗下的产品,同样最强IDE
:VS
,也是微软旗下的产品,所以我们用VS开发windows
程序是非常方便的,两者天然适配。
3.从零写一个windows窗口
windows程序最大的特色自然就是窗口了,前面我们用EGE
库写的推箱子小游戏,其实也是封装的win API函数,所以只能在windows
平台使用。
这次我们就不用EGE库,而是用最底层的win API来开发一个窗口,来看一看我们当初用EGE几个函数就能完成的任务,实际是怎么实现的!
3.1 建立窗口的过程
想要在windows系统上创建一个窗口,可以简单划分为三个步骤:
- 向系统注册一个窗体类
- 根据窗体类创建窗口
- 进入消息循环
虽然看上去很简单,但由于其中涉及到了大量Win API函数,所以新手一般刚开始学习的时候都会感到异常的痛苦。
接下来就开始详细介绍具体各个步骤。
3.2 建立项目
还是老规矩,在解决方案中新建项目day9-windows
,不过不是控制台应用了,而是窗口应用,我们需要选择windows桌面向导来帮我们创建一个window程序:
这里选择桌面应用程序,以及空项目: