微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WM_SETFOCUS 消息和 NULL wParam

如何解决WM_SETFOCUS 消息和 NULL wParam

我有一个简单的 Win32 Windows 应用程序,只有一个主窗口。在 window procedure 中,我想调查 WM_SETFOCUS 消息。 doc 说:

失去键盘焦点的窗口句柄。这 参数可以为NULL。

这是我的情况 - 我得到的只是 NULL。这是什么意思,为什么当桌面是以前的顶部活动窗口时,我无法获得例如桌面的句柄?

解决方法

32 位 Windows 引入了异步输入模型。此更改的一个结果是现在每个线程(或附加输入的线程组)记录焦点窗口。

最初,附加到输入队列的线程没有焦点窗口,因此程序第一次看到 WM_SETFOCUS 消息时,其 wParamNULLWM_SETFOCUS 可以将 NULL 作为其参数的原因还有其他一些,但这些在这里并不有趣。


奖励阅读:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。