메시지 및 메시지 큐
이 섹션에서는 메시지 및 메시지 큐와 애플리케이션에서 메시지 큐를 사용하는 방법을 설명합니다.
섹션 내용
속성 | 설명 |
---|---|
메시지 및 메시지 큐 정보 | 이 섹션에서는 Windows 메시지 및 메시지 큐에 대해 설명합니다. |
메시지 및 메시지 큐 사용 | 다음 코드 예제에서는 Windows 메시지 및 메시지 큐와 연결된 다음 작업을 수행하는 방법을 보여 줍니다. |
메시지 참조 | API 참조를 포함합니다. |
System-Provided 메시지
시스템 제공 메시지 목록은 시스템 정의 메시지를 참조하세요.
메시지 함수
속성 | 설명 |
---|---|
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의 요청을 거부한 창에 대한 정보를 포함합니다. |
메시지 | 스레드 메시지 큐의 메시지 정보를 포함합니다. |