SilkTest高级进阶系列5-奇怪的Tag
来源:互联网 发布:如何自己注册淘宝店铺 编辑:程序博客网 时间:2024/05/19 09:12
有的时候,我们通过Record菜单下面的Window Declarations, Window Identifiers和Window Tags记录或者识别出来的控件tag中包含着奇怪的对象类型,像是下面这样的:
[-] CustomWin Toolbox
[+] msw multitag "[AfxControlBar42u]Toolbox"
[ ] "[AfxControlBar42u]$59420"
[-] CustomWin Toolbox
[+] msw multitag "[AfxWnd42u]Toolbox"
[ ] "[AfxWnd42u]$103"
[-] CustomWin AfxOleControl42u1
[ ] msw tag "[AfxOleControl42u]$0"
[-] CustomWin TemplateViewer
[+] msw multitag "[AfxWnd42u]Display"
[ ] "[AfxWnd42u]$103"
[-] CustomWin Afx160000081
[ ] msw tag "[Afx:1*:8]$59648"
[-] CustomWin Afx160000081
[ ] msw tag "[Afx:1*:8]$59952"
[-] CustomWin Afx1600000010011601
[ ] msw tag "[Afx:1*:0:10011:6:0]$101"
[-] ListView ListView1
[ ] tag "$0"
我们认识ListView,pushbutton等常见的控件类型,但是 AfxControlBar42u和Afx:1*:8到底是什么呢?
其实他们也是Windows对象类型,其中Windows有几个基本类,他们的含义如下:
AfxWnd 表示子窗口
AfxFrameOrView表示边框窗口(SDI主窗口或MDI子窗口)或视图
AfxMDIFrame表示MDI主窗口
AfxControlBar表示标准控制条
AfxOleControl表示OLE控件(OLE: Object Linking and Embedding,对象连接与嵌入)
而形如Afx:1*:8的窗口,其实是一些动态产生的窗口,这些窗口是由Windows程序在初始化的时候调用AfxRegisterWndClass注册的。
其中,AfxRegisterWndClass函数是MFC全局函数, AfxRegisterWndClass的函数原型:
LPCTSTR AFXAPI AfxRegisterWndClass(UINT nClassStyle,
HCURSOR hCursor, HBRUSH hbrBackground, HICON hIcon)
参数1指定窗口类风格;
参数2、3、4分别指定该窗口类使用的光标、背景刷、像标的句柄,缺省值是0。
此函数根据窗口类属性动态地产生窗口类的名字,然后,判断是否该类已经注册,是则返回窗口类名;否则用指定窗口类的属性(窗口过程指定为缺省窗口过程),调用AfxRegisterCalss注册窗口类,返回类名。
这些动态产生的窗口类名字由以下几部分组成(包括冒号分隔符):
如果参数2、3、4全部为NULL,则由三部分组成。
“Afx”+“:”+模块实例句柄”+“:”+“窗口类风格”
否则,由六部分组成:
“Afx”+“:”+模块实例句柄+“:”+“窗口类风格”+“:”+光标句柄+“:”+背景刷句柄+“:”+像标句柄。比如:“Afx:400000:b:13de:6:32cf”。
一般AfxRegisterWndClass函数在MFC注册主边框或者文档边框“窗口类”时会被调用。
所以,下次见到这些吓人的tag的时候不要惊讶,他们只是一些Windows窗口类型而已。
- SilkTest高级进阶系列5-奇怪的Tag
- SilkTest高级进阶系列6-motif tag
- SilkTest高级进阶系列11- SilkTest调试
- SilkTest高级进阶系列1-用textract来识别文本
- SilkTest高级进阶系列2-操作INI文件
- SilkTest高级进阶系列3-用spy++自定义对象
- SilkTest高级进阶系列4-Window Tags和Window Identifiers
- SilkTest高级进阶系列7-用PostMessage模拟鼠标
- SilkTest高级进阶系列8 – 放下榔头,立地成佛
- SilkTest高级进阶系列9 – 异步执行命令
- SilkTest高级进阶系列10 – bitmap工具bitview
- SilkTest天龙八部系列5-类的属性
- SilkTest循序渐进5-类的继承
- SilkTest循序渐进5-类的继承
- 高级性能测试工程师进阶系列课程
- SilkTest天龙八部系列2-OCR
- SilkTest天龙八部系列4-ChildWin
- silktest的一些tips
- SilkTest高级进阶系列4-Window Tags和Window Identifiers
- MIPS mmu 设置
- Android各种服务调用代码
- hdu 3466(01背包)
- E2
- SilkTest高级进阶系列5-奇怪的Tag
- vim打造成IDE
- poj 2406 KMP 重复子串
- hdu 3371 Connect the Cities (Kruskal+ 并查集)
- java流处理总结(简明实用)
- Android SDK下载和更新失败的解决方法!!!
- 三道Java算法面试题
- 图像处理特征不变算子系列之Moravec算子(一)
- E2