메시지 및 메시지 큐
이 섹션에서는 메시지 및 메시지 큐와 애플리케이션에서 메시지 큐를 사용하는 방법을 설명합니다.
이 섹션에서
이름 | 묘사 |
---|---|
메시지 및 메시지 큐 대한 | 이 섹션에서는 Windows 메시지 및 메시지 큐에 대해 설명합니다. |
메시지 및 메시지 큐 사용하는 | 다음 코드 예제에서는 Windows 메시지 및 메시지 큐와 연결된 다음 작업을 수행하는 방법을 보여 줍니다. |
메시지 참조 | API 참조를 포함합니다. |
System-Provided 메시지
시스템 제공 메시지 목록은 System-Defined 메시지참조하세요.
메시지 함수
이름 | 묘사 |
---|---|
BroadcastSystemMessage | 지정된 받는 사람에게 메시지를 보냅니다. 받는 사람은 애플리케이션, 설치 가능한 드라이버, 네트워크 드라이버, 시스템 수준 디바이스 드라이버 또는 이러한 시스템 구성 요소의 조합일 수 있습니다. 요청이 정의된 경우 추가 정보를 받으려면 BroadcastSystemMessageEx 함수를 사용합니다. |
BroadcastSystemMessageEx | 지정된 받는 사람에게 메시지를 보냅니다. 받는 사람은 애플리케이션, 설치 가능한 드라이버, 네트워크 드라이버, 시스템 수준 디바이스 드라이버 또는 이러한 시스템 구성 요소의 조합일 수 있습니다. 이 함수는 BroadcastSystemMessage 비슷하지만 이 함수는 받는 사람으로부터 추가 정보를 반환할 수 있습니다. |
DispatchMessage | 창 프로시저에 메시지를 디스패치합니다. 일반적으로 GetMessage 함수에서 검색한 메시지를 디스패치하는 데 사용됩니다. |
GetInputState | 호출 스레드의 메시지 큐에 마우스 단추 또는 키보드 메시지가 있는지 여부를 결정합니다. |
GetMessage | 호출 스레드의 메시지 큐에서 메시지를 검색합니다. 함수는 게시된 메시지를 검색할 수 있을 때까지 들어오는 보낸 메시지를 디스패치합니다. GetMessage달리 PeekMessage 함수는 반환하기 전에 메시지가 게시될 때까지 기다리지 않습니다. |
GetMessageExtraInfo | 현재 스레드에 대한 추가 메시지 정보를 검색합니다. 추가 메시지 정보는 현재 스레드의 메시지 큐와 연결된 애플리케이션 또는 드라이버 정의 값입니다. |
GetMessagePos |
GetMessage 함수에서 검색한 마지막 메시지의 커서 위치를 검색합니다. 커서의 현재 위치를 확인하려면 GetCursorPos 함수를 사용합니다. |
GetMessageTime |
GetMessage 함수에서 검색한 마지막 메시지의 메시지 시간을 검색합니다. 시간은 시스템이 시작된 시간부터 메시지가 만들어진 시간(즉, 스레드의 메시지 큐에 배치됨)까지 경과된 시간을 밀리초 단위로 지정하는 긴 정수입니다. |
GetQueueStatus | 호출 스레드의 메시지 큐에 있는 메시지 유형을 나타냅니다. |
inSendMessage | 현재 창 프로시저가 SendMessage 함수를 호출하여 다른 스레드(동일한 프로세스 또는 다른 프로세스)에서 보낸 메시지를 처리하고 있는지 여부를 확인합니다. 메시지를 보낸 방법에 대한 추가 정보를 얻으려면 InSendMessageEx 함수를 사용합니다. |
InSendMessageEx | 현재 창 프로시저가 다른 스레드(동일한 프로세스 또는 다른 프로세스)에서 보낸 메시지를 처리하고 있는지 여부를 확인합니다. |
peekMessage | 들어오는 보낸 메시지를 디스패치하고, 게시된 메시지에 대한 스레드 메시지 큐를 확인하고, 메시지(있는 경우)를 검색합니다. |
PostMessage | 지정된 창을 만든 스레드와 연결된 메시지 큐에 메시지를 게시하고 스레드가 메시지를 처리할 때까지 기다리지 않고 반환합니다. 스레드와 연결된 메시지 큐에 메시지를 게시하려면 PostThreadMessage 함수를 사용합니다. |
PostQuitMessage | 스레드가 종료(종료) 요청을 했음을 시스템에 나타냅니다. 일반적으로 WM_DESTROY 메시지에 대한 응답으로 사용됩니다. |
PostThreadMessage | 지정된 스레드의 메시지 큐에 메시지를 게시합니다. 스레드가 메시지를 처리할 때까지 기다리지 않고 반환됩니다. |
RegisterWindowMessage | 시스템 전체에서 고유하도록 보장되는 새 창 메시지를 정의합니다. 메시지를 보내거나 게시할 때 메시지 값을 사용할 수 있습니다. |
ReplyMessage |
SendMessage 함수를 통해 전송된 메시지에 SendMessage호출한 함수에 대한 제어를 반환하지 않고 회신합니다. |
SendAsyncProc |
SendMessageCallback 함수와 함께 사용되는 애플리케이션 정의 콜백 함수입니다. 시스템은 메시지를 대상 창 프로시저에 전달한 후 콜백 함수에 메시지를 전달합니다.
SENDASYNCPROC 형식은 이 콜백 함수에 대한 포인터를 정의합니다.
SendAsyncProc 애플리케이션 정의 함수 이름의 자리 표시자입니다. |
SendMessage | 지정된 메시지를 창이나 창으로 보냅니다.
SendMessage 함수는 지정된 창에 대한 창 프로시저를 호출하며 창 프로시저가 메시지를 처리할 때까지 반환되지 않습니다. 메시지를 보내고 즉시 반환하려면 SendMessageCallback 또는 SendNotifyMessage 함수를 사용합니다. 스레드의 메시지 큐에 메시지를 게시하고 즉시 반환하려면 PostMessage 또는 postThreadMessage함수를사용합니다. |
SendMessageCallback | 지정된 메시지를 창이나 창으로 보냅니다. 지정된 창에 대한 창 프로시저를 호출하고 즉시 반환합니다. 창 프로시저가 메시지를 처리한 후 시스템은 지정된 콜백 함수를 호출하여 메시지 처리 결과와 애플리케이션 정의 값을 콜백 함수에 전달합니다. |
SendMessageTimeout | 지정된 메시지를 더 많은 창 중 하나로 보냅니다. |
SendNotifyMessage | 지정된 메시지를 창이나 창으로 보냅니다. 호출 스레드에서 창을 만든 경우 SendNotifyMessage 창에 대한 창 프로시저를 호출하고 창 프로시저가 메시지를 처리할 때까지 반환되지 않습니다. 다른 스레드에서 창을 만든 경우 SendNotifyMessage 창 프로시저에 메시지를 전달하고 즉시 반환합니다. 창 프로시저가 메시지 처리를 완료할 때까지 기다리지 않습니다. |
SetMessageExtraInfo | 현재 스레드에 대한 추가 메시지 정보를 설정합니다. 추가 메시지 정보는 현재 스레드의 메시지 큐와 연결된 애플리케이션 또는 드라이버 정의 값입니다. 애플리케이션은 GetMessageExtraInfo 함수를 사용하여 스레드의 추가 메시지 정보를 검색할 수 있습니다. |
TranslateMessage | 가상 키 메시지를 문자 메시지로 변환합니다. 문자 메시지는 호출 스레드의 메시지 큐에 게시되며, 다음에 스레드가 GetMessage 호출하거나 PeekMessage함수를읽을 수 있습니다. |
WaitMessage | 스레드에 메시지 큐에 다른 메시지가 없는 경우 다른 스레드에 대한 제어를 생성합니다.
WaitMessage 함수는 스레드를 일시 중단하고 새 메시지가 스레드의 메시지 큐에 배치될 때까지 반환되지 않습니다. |
메시지 상수
이름 | 묘사 |
---|---|
OCM__BASE | 프라이빗 창 클래스에서 사용할 프라이빗 메시지를 정의하는 데 사용됩니다. |
WM_APP | 프라이빗 메시지를 정의하는 데 사용됩니다. |
WM_USER | 프라이빗 창 클래스에서 사용할 프라이빗 메시지를 정의하는 데 사용됩니다. |
메시지 구조
이름 | 묘사 |
---|---|
BSMINFO |
BroadcastSystemMessageEx요청을 거부한 창에 대한 정보를 포함합니다. |
MSG | 스레드의 메시지 큐에 있는 메시지 정보를 포함합니다. |