2009-07-24 91 views
7

我正在写应用程序,它建立shell挂钩来获取shell事件(如果它很重要,我正在使用C#)。 我正在使用此示例:http://msbob.spaces.live.com/blog/cns!DAFD19BC5D669D8F!132.entry有谁知道ShellHook消息HSHELL_RUDEAPPACTIVATED是什么意思?

钩子工作正常,但我没有收到我感兴趣的消息:HSHELL_WINDOWACTIVATED(所有其他与窗口有关的事件都很好)。 相反,我正在收到代码为32772的邮件,该邮件应该是HSHELL_RUDEAPPACTIVATED(一些Google搜索帮助)。

但我不明白为什么我根本没有收到HSHELL_WINDOWACTIVATED和这个HSHELL_RUDEAPPACTIVATED消息的含义。 MSDN没有提到它。 有人可以解释给我吗?

回答

4

HSHELL_RUDEAPPACTIVATED是32772,这只是HSHELL_WINDOWACTIVATED高位设置。从我可以在各种网站上搜集的信息来看,当全屏应用程序激活时,Windows似乎会发送此消息。有点难以确定。

您是否尝试过将该消息视为与“HSHELL_WINDOWACTIVATED”相同的消息?

+0

是的,现在我将其视为HSHELL_WINDOWACTIVATED,并且一切正常。但我想明白为什么这条消息正在上升。它来自任何窗口,不仅仅是全屏应用程序。 – koldovsky 2009-07-24 21:32:35