【问题标题】:Enumeration windows via IsWindow通过 IsWindow 枚举窗口
【发布时间】:2013-03-31 08:37:46
【问题描述】:

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

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

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

【问题讨论】:

标签: winapi


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多