C ++ wParam和Lparam混淆

时间:2012-08-07 10:33:52

标签: c++ winapi

我知道wParam和lParam是(32位I belive)特定于当时传递的消息的信息位,但是有什么方法可以告诉每条消息放入两个消息中吗?

我在某处读到wParam是16位而lParam是32位,但它仍然没有真正解释我应该看到的内容,或者至少我应该期待看到哪些变量。我见过一些使用lParam的消息示例,以及使用wParam的其他消息示例,以及其他两个示例。

例如,我看到keydown使用wParam接收特定键,但lParam用于LButtondown,上面的16是y,下面的16是x。一个特别应该在lParam中的原因是有意义的(因为它需要32位),但我怎样才能找出其他消息发送的内容以及它们中的内容?

(对不起,我想我可能会在那次轻微的咆哮中重复我的问题)

3 个答案:

答案 0 :(得分:5)

对不起但是,知道每条消息的wParam和lParam中传递的内容的可靠方法是引用documentation

  

我在某地读过wParam是16位而lParam是32位

根据thisWPARAM无符号(32位)int ,而LPARAM是签名

答案 1 :(得分:3)

您必须查看您感兴趣的每条消息的MSDN参考,并分别阅读wParamlParam对它的重要性。可以找到完整的参考文献here

答案 2 :(得分:1)

只需看一下microsoft的文档: 例如WM_KEYDOWN:http://msdn.microsoft.com/en-us/library/windows/desktop/ms646280(v=vs.85).aspx