5.窗口类和窗口的附加数据
Posted 不忘初心 方得始终
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.窗口类和窗口的附加数据相关的知识,希望对你有一定的参考价值。
附加数据的作用:
注册窗口时,设置这两个数据的大小,可以提供窗口类和窗口存放自己的数据的空间。
1.窗口类附加数据
int cbClsExtra //窗口类附加数据buff大小
(1)用法:
a.申请缓冲区
窗口对象.cbClsExtra = 200; //一般赋4的倍数
b.写入数据
DWORD SetClassLong(
HWND hWnd; //窗口句柄
int nIndex; //字节索引号(从哪个字节开始存)
LONG dwNewLong; //存入的数据
);
c.读取数据
DWORD GetClassLong(
HWND hWnd; //窗口句柄
int nIndex; //字节索引号(从哪个字节开始读)
);//返回值获取读到的数据
2.窗口附加数据缓冲区
int cbWndExtra //窗口附加数据buff大小
(1)用法:
a.申请缓冲区
窗口对象.cbWndExtra = 200; //一般是4的倍数
a.写入数据
LONG SetWindowLong(
HWND hWnd; //窗口句柄
int nIndex; //字节索引号(从哪个字节开始存)
LONG dwNewLong; //写入的数据
);
c.读取数据
LONG GetWindowLong(
HWND hWnd; //窗口句柄
int nIndex; //字节索引号(从哪个字节开始读)
);//返回值是读到的数据
3.区别
窗口类附加数据缓冲区:是所有基于该窗口类创建出来的窗口共享的缓冲区。
窗口附加数据缓冲区:是窗口自己私有的缓冲区,即便是基于同一个窗口类创建出来的窗口,相互之间也不共享。
以上是关于5.窗口类和窗口的附加数据的主要内容,如果未能解决你的问题,请参考以下文章
Windows 逆向OD 调试器工具 ( OD 附加进程 | OD 调试器面板简介 | 反汇编窗口 | 寄存器窗口 | 数据窗口 | 堆栈窗口 )