获取RegisterWindowMessage注册的消息名称

时间:2016-11-04 07:00:29

标签: sendmessage windows-messages

我正在调试一个旧的应用程序,其中WndProc被覆盖。在那里我得到一条ID = 0xC1B0的消息,这意味着,这是根据此msdn article的系统范围唯一消息。

正如微软针对RegisterWindowMessage(...)所描述的那样,相同的字符串s会导致相同的message-id。因此,message-id和参数之间存在唯一的链接。

我现在的问题是:如果我有message-id,是否有可能获得参数?如果是,这可以帮助我找到消息的来源。

1 个答案:

答案 0 :(得分:1)

blog中找不到直接的方法,但函数GetClipboardFormatName(...)可以解决问题。

我用以下方式使用它:

[DllImport("user32.dll")]
static extern int GetClipboardFormatName(uint format, [Out] StringBuilder lpszFormatName, int cchMaxCount);

public string GetMessageName(uint msg)
{
     return GetClipboardFormatName(msg);
}