관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

SendMessage(A) 본문

API 관련/Win32 API 함수

SendMessage(A)

님투 2007. 11. 8. 23:23
반응형

SendMessage(A)

윈도우에 메세지를 송신합니다.이 함수는, 지정한 윈도우의 윈도우 프로시저가 처리를 종료할 때까지 제어를 돌려주지 않습니다.

메세지를 송신해 즉시 제어를 돌려주려면 , SendMessageCallback 함수 또는 SendNotifyMessage 함수를 사용합니다.메세지를 스렛드의 메시지 큐에 포스트해 즉시 제어를 돌려주려면 , PostMessage 함수 또는 PostThreadMessage 함수를 사용합니다.

LRESULT SendMessageA(
    HWND   hWnd,    // 윈도우 핸들
    UINT   Msg,     // 메세지 코드
    WPARAM wParam,  // wParam파라미터
    LPARAM lParam   // lParam파라미터
);

USER32.DLL

인수

hWnd

메세지를 받아들이는 윈도우의 핸들을 지정합니다.0xFFFF (HWND_BROADCAST) (을)를 지정하면, 모든 톱 레벨 윈도우에 보내집니다.

0xFFFF (HWND_BROADCAST) (을)를 지정하면, 시스템에 있는 모든 톱 레벨 윈도우에 보내집니다.아이 윈도우에 대해서는 메세지는 메세지는 보내지지 않습니다.

Msg

송신되는 메세지 코드를 지정합니다.

wParam

메세지 고유 정보(윈도우 프로시저의 wParam 파라미터)를 지정합니다.

lParam

메세지 고유 정보(윈도우 프로시저의 lParam 파라미터)를 지정합니다.

반환값

메세지 처리의 결과(윈도우 프로시저의 반환값)가 돌아갑니다.반환값은 보내진 메세지에 따라서 다릅니다.

해설

Msg 파라미터에 HWND_BROADCAST (을)를 지정하고 통신을 행하는 경우는, 상호의 어플리케이션간에 있어서의 통신을 위한 독특한 메세지를 취득하는데, RegisterWindowMessage (을)를 사용해야 합니다.

지정된 윈도우가 호출해 스렛드에 의해서 작성되고 있는 경우, 윈도우 프로시저가 직접 불려 갑니다.호출 스렛드와 다른 스렛드에 의해서 작성된 윈도우가 지정되었을 경우, 시스템은 그 스렛드로 전환해 적절한 윈도우 프로시저를 호출합니다.이 때, 수신측 스렛드가 메세지를 처리할 때까지 송신측 스렛드의 실행은 정지됩니다.다만, 메세지 처리를 기다리는 동안에서도, 송신측 스렛드는 자신에게 보내져 온 큐잉 되지 않는 메세지는 처리됩니다.이것을 막으려면 SendMessageTimeout 함수 호출로 SMTO_BLOCK 플래그를 지정합니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

'API 관련 > Win32 API 함수' 카테고리의 다른 글

SetCursor  (0) 2007.11.08
SetClassLong(A)  (0) 2007.11.08
SelectObject  (0) 2007.11.08
ScreenToClient  (0) 2007.11.08
RemoveMenu  (0) 2007.11.08
Comments