In the debug version of the program, I create a visible window, and the WM_QUERYENDSESSION message is received by its WNDPROC. In the release version, the window is supposed to be message-only, so I specify HWND_MESSAGE as the hWndParent when calling CreateWindowEx(). Unfortunately, I then don't receive the WM_QUERYENDSESSION message anymore.
Is WM_QUERYENDSESSION one of those broadcast messages mentioned here?
A message-only window [...] does not receive broadcast messages.