This function defines a new window message that is guaranteed to be unique throughout the system. The returned message value can be used when calling the SendMessage or PostMessage function.
A message identifier in the range 0xC000 through 0xFFFF indicates that the message is successfully registered. Zero indicates failure. To get extended error information, call GetLastError.
The RegisterWindowMessage function is typically used to register messages for communicating between two cooperating applications.
If two different applications register the same message string, the applications return the same message value. The message remains registered until the session ends.
Only use RegisterWindowMessage when more than one application must process the same message. For sending private messages within a window class, an application can use any integer in the range WM_USER through 0x7FFF. Messages in this range are private to a window class, not to an application. For example, predefined control classes such as BUTTON, EDIT, and LISTBOX may use values in this range.