SendNotifyMessageA 함수(winuser.h)

지정된 메시지를 창 또는 창으로 보냅니다. 호출 스레드에서 창을 만든 경우 SendNotifyMessage 는 창에 대한 창 프로시저를 호출하고 창 프로시저가 메시지를 처리할 때까지 반환되지 않습니다. 창이 다른 스레드에 의해 만들어진 경우 SendNotifyMessage 는 창 프로시저에 메시지를 전달하고 즉시 반환합니다. 창 프로시저가 메시지 처리를 완료할 때까지 기다리지 않습니다.

구문

BOOL SendNotifyMessageA(
  [in] HWND   hWnd,
  [in] UINT   Msg,
  [in] WPARAM wParam,
  [in] LPARAM lParam
);

매개 변수

[in] hWnd

형식: HWND

창 프로시저에서 메시지를 받을 창에 대한 핸들입니다. 이 매개 변수가 HWND_BROADCAST ((HWND)0xffff 경우 비활성화되거나 보이지 않는 소유되지 않은 창, 겹치는 창 및 팝업 창을 포함하여 시스템의 모든 최상위 창으로 메시지가 전송됩니다. 하지만 메시지는 자식 창으로 전송되지 않습니다.

[in] Msg

형식: UINT

보낼 메시지입니다.

시스템 제공 메시지 목록은 시스템 정의 메시지를 참조하세요.

[in] wParam

형식: WPARAM

추가 메시지 관련 정보입니다.

[in] lParam

형식: LPARAM

추가 메시지 관련 정보입니다.

반환 값

형식: BOOL

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

WM_USER 아래 범위의 메시지를 비동기 메시지 함수(PostMessage, SendNotifyMessageSendMessageCallback)로 보내는 경우 해당 메시지 매개 변수에는 포인터가 포함될 수 없습니다. 그렇지 않으면 작업이 실패합니다. 함수는 수신 스레드가 메시지를 처리할 기회가 있기 전에 반환되고 보낸 사람에게는 메모리가 사용되기 전에 해제됩니다.

HWND_BROADCAST 사용하여 통신해야 하는 애플리케이션은 RegisterWindowMessage 함수를 사용하여 애플리케이션 간 통신에 대한 고유한 메시지를 가져와야 합니다.

시스템은 시스템 메시지(0~(WM_USER-1) 범위의 메시지)에 대해서만 마샬링을 수행합니다. 다른 메시지(그 >= WM_USER)를 다른 프로세스로 보내려면 사용자 지정 마샬링을 수행해야 합니다.

참고

winuser.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 SendNotifyMessage를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

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

추가 정보

개념

메시지 및 메시지 큐

PostMessage

PostThreadMessage

참조

RegisterWindowMessage

SendMessage

SendMessageCallback

SendNotifyMessage