Windows消息

Vin*_*ves 3 c# winapi

我需要发送一个自定义的Windows消息,其中包含另一个应用程序将侦听的自定义ID.

是否存在Windows为内部消息保留的预定义消息ID范围,例如SQL Server(内部消息最多为50.000)?

Dav*_*nan 5

文件说:

应用程序定义的消息

应用程序可以创建要由其自己的窗口使用的消息,也可以与其他进程中的窗口进行通信.如果应用程序创建自己的消息,则接收它们的窗口过程必须解释消息并提供适当的处理.

消息标识符值使用如下:

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

我怀疑这RegisterWindowMessage是你的正确选择.