如何定义自己的WM(如WM_CLOSE等)消息,可以由C++中的消息泵处理?
如果可能的话。
最佳答案
这取决于您使用该消息的目的。 This link显示Win32消息的“地址空间”细目。
通常情况下,WM_USER
是而不是是正确的解决方案。 WM_USER
消息“可以由应用程序定义并用于在私有(private)窗口类内发送消息。这些值不能用于定义在整个应用程序中有意义的消息,因为某些预定义的窗口类已经定义了范围内的值。”
最好分配一个WM_APP
范围内的消息ID。
如果要让系统在运行时为您分配消息ID,则RegisterWindowMessage
很有用。 “所有注册相同字符串的应用程序都可以使用关联的消息号来交换消息,”因此,当需要使用自定义消息进行简单的进程间通信时,可以使用RegisterWindowMessage
。