在啥情况下 GetMsgProc 函数会收到小于 0 的代码?

Posted

技术标签:

【中文标题】在啥情况下 GetMsgProc 函数会收到小于 0 的代码?【英文标题】:In what circumstances would a GetMsgProc functions would receive a code of less than 0?在什么情况下 GetMsgProc 函数会收到小于 0 的代码? 【发布时间】:2011-04-19 17:23:19 【问题描述】:

正如问题所问的那样,在什么情况下,以 WH_GETMESSAGE 作为挂钩 ID 提供给 SetWindowsHookEx 的过程会收到小于零的“代码”参数?

函数说明:

如果代码小于零,钩子 程序必须将消息传递给 CallNextHookEx 函数没有 进一步处理并应返回 CallNextHookEx 返回的值。

由于某些原因,当我需要实际处理该消息时,我相信我收到了 Code 参数小于 0 的消息。有什么见解吗?

【问题讨论】:

【参考方案1】:

那些 used internally 来管理钩子列表(这意味着您应该始终传递它们而不查看数据!)

请参阅this blog post,了解有关人们如何滥用旧版本以及为什么我们现在拥有 Ex 版本的详细信息...

【讨论】:

以上是关于在啥情况下 GetMsgProc 函数会收到小于 0 的代码?的主要内容,如果未能解决你的问题,请参考以下文章

memcpy在啥情况下会失败

memcpy在啥情况下会失败

在啥情况下需要多项式的泰勒级数?

在啥情况下我们应该将类构造函数设为私有[重复]

在啥情况下会在控制权到达 main() 函数之前发生崩溃? [复制]

在啥情况下 SqlConnection 会自动加入环境 TransactionScope 事务?