Windows Messages

本文关键字:Messages Windows | 更新日期: 2023-09-27 18:06:11

我需要发送一个带有自定义Id的自定义窗口消息,另一个应用程序将侦听。

是否有任何预定义的消息Id的范围,Windows为内部消息保留,如SQL Server(高达50,000的内部消息)?

Windows Messages

文档说:

<

应用程序定义的消息/strong>

应用程序可以创建消息供自己的窗口使用,也可以与其他进程中的窗口通信。如果应用程序创建了自己的消息,那么接收这些消息的窗口过程必须解释这些消息并提供适当的处理。

消息标识符值的使用如下:

  • 系统为系统定义的消息保留0x0000 ~ 0x03FF范围内的消息标识符值(WM_USER - 1)。应用程序不能将这些值用于私有消息。
  • 0x0400范围内的值(WM_USER的值)到0x7FFF可用于私有窗口类的消息标识符。
  • 如果你的应用程序被标记为4.0版本,你可以在0x8000 (WM_APP)到0xBFFF范围内使用消息标识符值作为私人消息。
  • 当应用程序调用RegisterWindowMessage函数注册消息时,系统返回0xC000到0xFFFF范围内的消息标识符。此函数返回的消息标识符保证在整个系统中是唯一的。使用此功能可以防止由于其他应用程序出于不同目的使用相同的消息标识符而产生的冲突。

我怀疑RegisterWindowMessage是你的正确选择。