GetQueueStatus 함수(winuser.h)

호출 스레드의 메시지 큐에 있는 메시지 유형을 검색합니다.

구문

DWORD GetQueueStatus(
  [in] UINT flags
);

매개 변수

[in] flags

형식: UINT

검사 메시지 유형입니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.

의미
QS_KEY
0x0001
WM_KEYUP, WM_KEYDOWN, WM_SYSKEYUP 또는 WM_SYSKEYDOWN 메시지가 큐에 있습니다.
QS_MOUSEMOVE
0x0002
WM_MOUSEMOVE 메시지가 큐에 있습니다.
QS_MOUSEBUTTON
0x0004
마우스 단추 메시지(WM_LBUTTONUP, WM_RBUTTONDOWN 등)
QS_POSTMESSAGE
0x0008
게시된 메시지(여기에 나열된 메시지 제외)가 큐에 있습니다. 자세한 내용은 PostMessage를 참조하세요.
이 값은 메시지를 필터링하는지 여부에 관계없이 GetMessage 또는 PeekMessage를 호출할 때 지워집니다.
QS_TIMER
0x0010
WM_TIMER 메시지가 큐에 있습니다.
QS_PAINT
0x0020
WM_PAINT 메시지가 큐에 있습니다.
QS_SENDMESSAGE
0x0040
다른 스레드 또는 애플리케이션에서 보낸 메시지가 큐에 있습니다. 자세한 내용은 SendMessage를 참조하세요.
QS_HOTKEY
0x0080
WM_HOTKEY 메시지가 큐에 있습니다.
QS_ALLPOSTMESSAGE
0x0100
게시된 메시지(여기에 나열된 메시지 제외)가 큐에 있습니다. 자세한 내용은 PostMessage를 참조하세요.
이 값은 메시지를 필터링하지 않고 GetMessage 또는 PeekMessage를 호출할 때 지워집니다.
QS_RAWINPUT
0x0400
Windows XP 이상: 원시 입력 메시지가 큐에 있습니다. 자세한 내용은 원시 입력을 참조하세요.
QS_TOUCH
0x0800
Windows 8 이상: 터치 입력 메시지가 큐에 있습니다. 자세한 내용은 터치 입력을 참조하세요.
QS_POINTER
0x1000
Windows 8 이상: 포인터 입력 메시지가 큐에 있습니다. 자세한 내용은 포인터 입력을 참조하세요.
QS_MOUSE
(QS_MOUSEMOVE | QS_MOUSEBUTTON)
WM_MOUSEMOVE 메시지 또는 마우스 단추 메시지(WM_LBUTTONUP, WM_RBUTTONDOWN 등).
QS_INPUT
(QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER)
입력 메시지가 큐에 있습니다.
QS_ALLEVENTS
(QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY)
입력, WM_TIMER, WM_PAINT, WM_HOTKEY 또는 게시된 메시지가 큐에 있습니다.
QS_ALLINPUT
(QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE)
모든 메시지가 큐에 있습니다.

반환 값

형식:DWORD

반환 값의 상위 단어는 현재 큐에 있는 메시지 유형을 나타냅니다. 하위 단어는 큐에 추가되고 GetQueueStatus, GetMessage 또는 PeekMessage 함수에 대한 마지막 호출 이후 큐에 있는 메시지 유형을 나타냅니다.

설명

반환 값에 QS_ 플래그가 있다고 해서 GetMessage 또는 PeekMessage 함수에 대한 후속 호출이 메시지를 반환한다고 보장할 수 없습니다. GetMessagePeekMessage 는 메시지를 내부적으로 처리할 수 있는 일부 내부 필터링을 수행합니다. 이러한 이유로 GetQueueStatus 의 반환 값은 GetMessage 또는 PeekMessage 를 호출해야 하는지에 대한 힌트로만 간주되어야 합니다.

QS_ALLPOSTMESSAGEQS_POSTMESSAGE 플래그는 지워지면 다릅니다. 메시지를 필터링하는지 여부에 관계없이 GetMessage 또는 PeekMessage를 호출할 때 QS_POSTMESSAGE 지워집니다. 메시지를 필터링하지 않고 GetMessage 또는 PeekMessage 를 호출할 때 QS_ALLPOSTMESSAGE 지워집니다(wMsgFilterMinwMsgFilterMax 는 0임). 이 기능은 PeekMessage를 여러 번 호출하여 다양한 범위에서 메시지를 가져올 때 유용할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-message-l1-1-0(Windows 8 도입)

추가 정보

개념

GetInputState

GetMessage

메시지 및 메시지 큐

PeekMessage

참조