1

我发现了这个未记录的 Windows 消息,十六进制代码:0x0313,当用户右键单击应用程序的任务栏按钮时发送。这是否稳定使用/捕获?

4

4 回答 4

2

它已经工作了很多年,所以虽然不能保证它在未来的版本中会起作用,但它更有可能会起作用。

于 2012-05-03T11:36:14.290 回答
2

没有保证,但实际上它可能不会消失。

我用谷歌搜索它只是为了确保它不是例如记录在案的 MFC 消息。

一个结果,来自http://delphi.about.com/od/vclwriteenhance/a/ttaskbarmenu.htm

当您右键单击任务栏按钮时,Windows 会向相应的应用程序窗口发送一条未记录的消息 ($0313)。WPARAM 未使用(零),LPARAM 以通常的格式包含屏幕坐标中的鼠标位置。默认情况下,WindowProc 通过在给定坐标处弹出系统菜单来处理此消息。

显然,您可以使用它来弹出您自己的自定义菜单,但在此之前,我会使用例如 Spy++ 来检查它是否可能生成可以处理的文档化消息。

于 2012-05-03T11:39:07.327 回答
1

Undocumented features and messages are subjected to change. You should not rely on that this message is sent in the same way in another version of windows or that the parameters are in the same format.

于 2012-05-03T11:30:06.397 回答
0

如果您可以保证它可以在以下情况下使用,它将是稳定的:

1) 当前使用的所有 Windows 版本。

2) 将在您的应用程序的预期生命周期内发布的所有 Windows 版本。

所以不行。

于 2012-05-03T11:31:06.010 回答