教程详情
- 教程名字:黑客防线〖莫问剑〗Windows应用、系统编程
- 教程大小:1.28GB
- 作者:黑客防线
第一章 : 深入解析窗口和消息
本篇的所有代码,都是三种语言实现,每课配有详细的视频教程。
基础内功篇:
2. 第一个 Win32 程序
今天我们就从第一个 Win32 程序开始我们的编程之旅。 在这之前,我需要讲解一些基本的术语。可能大家在平时也听到过,那么在这里,我们就来重新的澄清大家对这些术语的概念。
1. SDK
SDK 的全称是(PlatForm SoftWare Development Kit) , 平台软件开发工具。 SDK 很广义,一般的 SDK 都是描述了特定平台上的接口函数。 例如我们想设计一个手机短信平台,那么你就需要一份这个平台的 SDK。 我们在 win32 编程中,SDK 常常是用来描述 Windows API。
2. API
API 是 Windows 应用编程接口,是针对 windows 操作系统家族的系统编程接口。每个操作系统实现了不同的 Windows API 不同的子集。
Windows API 包括了几千个可调用的函数,他们被大致分为以
下几类。
基本服务
邮件服务
用户界面服务
图形和多媒体服务
消息和协作
网络
Web 服务
大家可能看到上面的词语后面都带有服务这个词。其实“服务”这个词可以指操作系统一个可调用的例程,一个设备驱动程序或者一个服务器进程。最终,我们可以归结 Windows API 是指 Windows API 中已经被文档化的可调用例程。
3. 动态链接库
说到 Windows API 函数就不得不说下动态链接库,动态链接库是一组可调用的例程,合起来被链接成一个可执行文件(后缀为.dll 的)。动态链接库,顾名思义,这些 api 的代码并不包含在可执行文件中,而是要使用时才被加载,为了让应用程序可以使用它们,就必须事先将相关的重定位信息嵌入可执行应用程序当中。这些信息在动态链接库中,是由链接器把相关信息从引入库找出并插入到可执行文件当中。动态链接库比静态库的优势是它可以共享,也就是它只需要加载到内存中后,其他的应用程序也可以使用,而在内存中仅有一份拷贝。你可以看下系统目录下 system32 目录下的这些 系统 dll 文件,你可以查看下输出表,他们引出了很多函数,而这些就是我们可调用的子例程。
当应用程序被 windows 加载时,windows 会检查这些信息,这些信息包括动态链接库的名字和其中被调用函数的名字,如果检测到动态链接库名称,windows 就会加载此动态链接库,并重定位调用函数的入口地址,以便调用函数时控制权能转移到的函数内部。
4. 字符集
如果从字符集来分,api 共有两类,一类是处理 ansi 字符集的,一类是处理 unicode 字符集的。前一类函数名字后面都带一个“A”字符,后一类的函数名字后面都带一个“w”字符集。(我想 W 代表的就是宽字符的意思吧)。我们比较熟悉的 ANSI 字符集是以 NULL 结尾的一串字符串数组,每个 ANSI 字符只有一个byte。对于欧洲体系 ANSI 字符集已经足够了,但对于成千上万个唯一字符的几种东方语言体系,我们就只能用 unicode 字符集了,每个 unicode 字符占两个字节宽,这样一来就可以在一
个字符串中使用 65366 个不同的字符了。
教程截图
教程下载
原文链接:【教程宝盒网】 https://www.jc-box.com/1635.html,转载请注明出处。
请先
!