|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| Yes
| Import Library
| user32.lib
| Header File
| winuser.h
| Unicode
| WinNT
| Platform Notes
| None
|
|
|
GetMessage
The
GetMessage function retrieves a message from the calling thread's message queue and
places it in the specified structure. This function can retrieve both messages
associated with a specified window and thread messages posted via the
PostThreadMessage function. The function retrieves messages that lie within a specified range of
message values.
GetMessage does not retrieve messages for windows that belong to other threads or
applications.
BOOL GetMessage(
LPMSG lpMsg,
| // address of structure with message
|
HWND hWnd,
| // handle of window
|
UINT wMsgFilterMin,
| // first message
|
UINT wMsgFilterMax
| // last message
|
);
|
|
Parameters
lpMsg
Points to an
MSG structure that receives message information from the thread's message queue.
hWnd
Identifies the window whose messages are to be retrieved. One value has a
special meaning:
Value
| Meaning
|
NULL
| GetMessage retrieves messages for any window that belongs to the calling thread and
thread messages posted to the calling thread via PostThreadMessage.
|
wMsgFilterMin
Specifies the integer value of the lowest message value to be retrieved.
wMsgFilterMax
Specifies the integer value of the highest message value to be retrieved.
Return Values
If the function retrieves a message other than WM_QUIT, the return value is
nonzero.
If the function retrieves the WM_QUIT message, the return value is zero.
If there is an error, the return value is -1. For example, the function fails
if
hWnd is an invalid window handle.
Remarks
An application typically uses the return value to determine whether to end the
main message loop and exit the program.
The
GetMessage function only retrieves messages associated with the window identified by the
hWnd parameter or any of its children as specified by the
IsChild function, and within the range of message values given by the
wMsgFilterMin and
wMsgFilterMax parameters. If
hWnd is NULL,
GetMessage retrieves messages for any window that belongs to the calling thread and
thread messages posted to the calling thread via
PostThreadMessage.
GetMessage does not retrieve messages for windows that belong to other threads nor for
threads other than the calling thread. Thread messages, posted by the
PostThreadmessage function, have a message
hWnd value of NULL. If
wMsgFilterMin and
wMsgFilterMax are both zero,
GetMessage returns all available messages (that is, no range filtering is performed).
The WM_KEYFIRST and WM_KEYLAST constants can be used as filter values to
retrieve all messages related to keyboard input; the WM_MOUSEFIRST and WM_MOUSELAST
constants can be used to retrieve all mouse messages. If the
wMsgFilterMin and
wMsgFilterMax parameters are both zero, the
GetMessage function returns all available messages (that is, without performing any
filtering).
GetMessage does not remove WM_PAINT messages from the queue. The messages remain in the
queue until processed.
Note that the function return value can be TRUE, FALSE, or -1. Thus, you
should avoid code like this:
while (GetMessage( lpMsg, hWnd, 0, 0)) ...
The possibility of a -1 return value means that such code can lead to fatal
application errors.
See Also
IsChild,
MSG,
PeekMessage,
PostMessage,
PostThreadMessage,
WaitMessage
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database