通过IsWindow的枚举窗口

时间:2013-03-31 08:37:47

标签: winapi

通过IsWindow(N)过滤0到0xFFFFFFFF的数字! = 0,排序并看 -

http://files.rsdn.ru/42164/iswindow_raw.png

- 数字1)N,2)AND(N,0xFFFF),3)OR(N,0xFFFF0000) - 可以作为同一窗口的hwnd。

因此问题:是否可以在1个双字中存储2个hwnd,如果没有 - 请提供具体的反例。感谢。

1 个答案:

答案 0 :(得分:3)

可以仅以16位存储HWND。事实上,你甚至可以将它存储在15位,因为它总是均匀。

但你应该问的是:这样做是明智的吗?答案是! Win32 API的文档指出HWND是一个32位整数,但没有说明它的内部结构。这些是未记录的实现细节,可在任何版本的系统中更改。

任何负责任的程序员都不赞成任何利用这些知识的技术。这并不意味着它不会有用,只要你必须小心你所知道的。