2017. 9. 1. 00:50
* IPC 기법 대신 사용하는 방법이다
이 방법을 Broadcase 통신이라고 하는데
RegisterWindowMessage( ) API 를 이용한다
WPARAM, LPARAM을 이용하여 메시지 통신을 한다
사용 방법은 다음과 같다
* 보내는 프로세스
1. 메시지 등록
UINT nRegisterMessage = RegisterWindowMessage(_T("MyCommunication"));
2. PostMessage를 이용하여 데이터 전송
int nData = 2000;
PostMessage(HWND_BROADCAST, nRegisterMessage, (WPARAM)nData, 0);
* 받는 프로세스
1. 메시지 등록
UINT nRegisterMessage = RegisterWindowMessage(_T("MyCommunication"));
2. 메시지 핸들러 추가
ON_REGISTERED_MESSAGE(nRegisterMessage, &CTestDlg::OnMyHandler)
3. 메시지 처리를 할 함수 구현
LRESULT CTestDlg::OnMyHandler(WPARAM wParam, LPARAM lParam)
{
int nData = (int)wParam;
// 그 이외의 함수 처리
}
* 주의 - 최상위 부모에만 전달된다 따라서 자식 윈도우에 전달하고 싶으면 최상위 부모에서 전달해야 한다