-4

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

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

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

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

4

1 回答 1

3

可以仅以16 位存储 HWND。事实上,您甚至可以将其存储为 15 位,因为它始终是偶数。

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

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

于 2013-03-31T11:44:28.950 回答