---
name: "PeekMessageW"
section: "3w"
platform: "linux"
package: "wine-doc"
version: "0.0.981018-1.1"
release: "Debian 2.1 (Slink)"
platforms: ["linux"]
url: "https://carta.tech/man/PeekMessageW"
---

# PeekMessageW(3w)

PeekMessageW Check queue for messages

## NAME

PeekMessageW - PeekMessageW             Check queue for messages

## SYNOPSIS

**BOOL32 PeekMessageW**\
 **(**\
\
 	**LPMSG32 lpmsg,**\
\
 	**HWND32 hwnd,**\
\
 	**UINT32 min,**\
\
 	**UINT32 max,**\
\
 	**UINT32 wRemoveMsg**\
 **);**

## PARAMETERS

- **LPMSG32 lpmsg**

  Buffer to receive message.

- **HWND32 hwnd**

  Restrict to messages for hwnd.

- **UINT32 min**

  Minimum message to receive.

- **UINT32 max**

  Maximum message to receive.

- **UINT32 wRemoveMsg**

  Removal flags.

## DESCRIPTION

Checks for a message in the thread's queue, filtered as for GetMessage(). Returns immediately whether a message is available or not.

Whether a retrieved message is removed from the queue is set by the \_wRemoveMsg\_ flags, which should be one of the following values:

PM\_NOREMOVE    Do not remove the message from the queue.

PM\_REMOVE      Remove the message from the queue.

In addition, PM\_NOYIELD may be combined into \_wRemoveMsg\_ to request that the system not yield control during PeekMessage(); however applications may not rely on scheduling behavior.

## RETURNS

Nonzero if a message is available and is retrieved, zero otherwise.

## CONFORMANCE

ECMA-234, Win32.

## SEE ALSO

[SetDoubleClickTime(3w)](/man/SetDoubleClickTime/3w.md), [GetDoubleClickTime(3w)](/man/GetDoubleClickTime/3w.md), [PeekMessageA(3w)](/man/PeekMessageA/3w.md), [GetMessageA(3w)](/man/GetMessageA/3w.md), [GetMessageW(3w)](/man/GetMessageW/3w.md), [PostMessageA(3w)](/man/PostMessageA/3w.md), [PostMessageW(3w)](/man/PostMessageW/3w.md), [PostThreadMessageA(3w)](/man/PostThreadMessageA/3w.md), [SendMessageA(3w)](/man/SendMessageA/3w.md), [SendMessageW(3w)](/man/SendMessageW/3w.md), [SendMessageTimeoutA(3w)](/man/SendMessageTimeoutA/3w.md), [SendMessageTimeoutW(3w)](/man/SendMessageTimeoutW/3w.md), [WaitMessage(3w)](/man/WaitMessage/3w.md), [MsgWaitForMultipleObjects(3w)](/man/MsgWaitForMultipleObjects/3w.md), [TranslateMessage(3w)](/man/TranslateMessage/3w.md), [DispatchMessageA(3w)](/man/DispatchMessageA/3w.md), [DispatchMessageW(3w)](/man/DispatchMessageW/3w.md), [RegisterWindowMessageA(3w)](/man/RegisterWindowMessageA/3w.md), [RegisterWindowMessageW(3w)](/man/RegisterWindowMessageW/3w.md), [GetTickCount(3w)](/man/GetTickCount/3w.md), [InSendMessage(3w)](/man/InSendMessage/3w.md), [BroadcastSystemMessage(3w)](/man/BroadcastSystemMessage/3w.md), [SendNotifyMessageA(3w)](/man/SendNotifyMessageA/3w.md), [SendMessageCallbackA(3w)](/man/SendMessageCallbackA/3w.md)
