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

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

查看 codexia 的博客 2015-10-16 15:51:29 3254
Windows   入门  
手机阅读 | 转发赚积分
手机收藏 | 分享给好友
简介ATOM类型的窗口类ID就对应的注册窗口类的窗口类名称,窗口类结构体中的每一个成员都可以获取和修改。因为ATOM是大家所不熟悉的,前面也没有介绍,这里就花了很大的篇幅来详细介绍了。同时也详细介绍了INT资源ID转换宏MAKEINTRESOURCE的定义和使用方法。
    上一节课《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值可以在以下这些函数中使用:
1.微信扫码
2.点击按钮,粘贴命令
自动刷新 手动刷新
命令:rd eZZd4 复制
提示:如果您发送了命令,自动刷新会展开全文。自动刷新最多60秒,超过60秒请点击手动刷新。
创作不易,汗水不止!为防止劳动果实被爬虫窃取,开启了反爬机制,需要您发送命令继续阅读。取关会再次出现此提示。一段时间后出现此提示,请再次发送即可。如有问题,请加客服微信Freeme007处理。感谢您的理解。
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
文章标题:Windows零基础入门:4.2 获取窗口类信息之查询窗口类名称ID
文章地址:http://www.cjjjs.com/article/20151016155129464
转载到个人博客,请在文末带上右侧内容(含超链接):本文转载自:Windows零基础入门:4.2 获取窗口类信息之查询窗口类名称ID
收藏 0 点赞 0
公众号
微信赞赏
支付宝赞赏
领支付宝大红包
QQ群

相关阅读

分享到:
分享文章[Windows零基础入门:4.2 获取窗口类信息之查询窗口类名称ID]到QQ空间

Win32课程菜单

猜您感兴趣