보내는 부분
const wchar_t *sBuff = strData.GetBuffer();
COPYDATASTRUCT cds;
cds.dwData = 5;
cds.cbData = ( wcslen(OLE2CT(strData) ) + 1) * 2;
cds.lpData = (VOID*)OLE2CT(strData);
CWnd *pWnd = CWnd::FindWindow(NULL, L"Chat2");
if(!pWnd) {
AfxMessageBox(L"Program is not found!");
return TRUE;
}
pWnd->SendMessage(WM_COPYDATA, (WPARAM)m_hWnd, (LPARAM)&cds);
받는 부분
switch(pCopyDataStruct->dwData) {
CString str;
wchar_t p_data[512]= {0,};
wcsncpy(p_data, (wchar_t*)pCopyDataStruct->lpData, 512 );
SetDlgItemText(IDC_EDIT1, p_data);
}
받는 쪽은 다음중 아무거나
wcsncpy(p_data, (wchar_t*)pCopyDataStruct->lpData, 512 );
wcsncpy(p_data, (wchar_t*)pCopyDataStruct->lpData, pCopyDataStruct->cbData / 2 );
memcpy( p_data, pCopyDataStruct->lpData, min( sizeof(p_data), pCopyDataStruct->cbData) );
wcsncpy 은 문자열을 계산을 하죠..2바이트식 불러 오게 됩니다.
'C & C++ > C & C++' 카테고리의 다른 글
마이크로 세컨드 단위로 실행시간 측정하기 (0) | 2014.10.29 |
---|---|
윈도우 콘솔( Console ) 실행 (0) | 2014.05.12 |
배열 요소의 크기 구하기 (0) | 2014.03.07 |
비트 연산자 (0) | 2014.02.06 |
MS Office 파워 포인트 자동화(PPT Automation) (0) | 2013.11.15 |
댓글