Windows零基础入门:4.2 获取窗口类信息之查询窗口类名称ID

4583 人浏览 | 时间: 2015-10-16 15:51:29 | 作者: codexia
    上一节课《Windows零基础入门:4.1 获取窗口类信息之查询窗口类函数详细介绍》,我们详细介绍了获取窗口类信息的函数的参数等知识。函数的使用很简单,关键是函数背后的技术知识背景,很少有人深入了解过。我们就对此做深入的探讨学习。
    在注册窗口类的时候,在窗口类结构体的成员lpszClassName填写的是窗口类的名称,就是一个字符串。通过这个窗口类名称字符串,我们就可以找到窗口类,进而可以使用窗口类名称来创建一个窗口。
    那么,在窗口类有效的范围内,窗口类名字是唯一的。只要我们用这个窗口类名称来创建窗口,总会创建出这个特定样式的窗口。
    然而窗口类信息注册好后,生成了一个ID,是一个数字,就像一个表格的序号一样的,这个ID的类型就是ATOM类型。我们现在来认识一下ATOM类型。
    ATOM英文是原子的意思,表示最小的意思。我们可以理解为这个类型是Windows中的基本类型,就好像C/C++中的int类型一样。我们看看ATOM类型最根本的数据类型是什么,从语言级别来看。
    在VS2015中,我们查看ATOM的定义,如下:


typedef WORD ATOM;//BUGBUG - might want to remove this from minwin
typedef unsigned short WORD;
    对于ATOM,没有找到直接的解释,但是我们通过在VS中查看定义,可以看到这个类型是这么定义的。ATOM时友WORD类型重定义的,而WORD是由unsigned short类型重定义的,所以根本上,ATOM就是unsigned short类型的。然而注释中却标注BUGBUG,并解释说可能将这个类型从minWin系统版本中移除。


    我们可以肯定的是,ATOM是一个整数,至于具体多少位,是哪一种整型类型,我们就不细究了。也没有必要,因为从注释可以看出,这个类型可能会变化,但是一定会是整型类型。知道这些我们就够了。
    这个ATOM类型出现在注册窗口类函数中,是注册窗口类函数的返回值类型。如果注册失败,则返回0,注册成功,则返回一个窗口类的唯一ID。可以说,这个ID和注册的窗口类是一一对应的。
    那么返回的这个ATOM值可以在以下这些函数中使用:
请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

Win32课程菜单