HOWTO: Broadcast Messages Using PostMessage() & SendMessage()
ID: Q64296
|
The information in this article applies to:
-
Microsoft Windows Software Development Kit (SDK)
-
Microsoft Win32 Software Development Kit (SDK)
SUMMARY
When SendMessage() is used to send a broadcast message (hwnd = 0xFFFF or
hwnd = -1), the message is sent to all top-level windows. A message
broadcast by PostMessage() is only sent to top-level windows that are
visible, enabled, and have no owner.
You might observe the effect of the difference when, for example, the top-
level window of your application calls DialogBox() to present a modal
dialog box. While the modal dialog box exists, its owner (your top-level
window) will be disabled. Messages broadcast using PostMessage() will not
reach the top-level window because the window is disabled, and will not
reach the dialog box because the dialog box has an owner. Messages
broadcast using SendMessage() will reach both the top-level window and the
dialog.
In Windows 3.1, PostMessage() will broadcast to invisible and disabled
windows just like SendMessage() already does.
Both PostMessage() and SendMessage() actually broadcast using the same
broadcast procedure. This procedure does some additional screening to make
sure that pop-up menus, the task manager window, and icon title windows are
insulated from broadcast messages.
Keywords : kbNTOS kbGrpUser kbWinOS kbWndw kbWndwMsg
Version :
Platform :
Issue type : kbhowto