Забыл поставить тему
От: vstrang  
Дата: 17.08.05 08:39
Оценка:
Sorrrry.
Подскажите начинающему, как с помощью SendMessage передать данные из массива int mas[] в другую программу?
С char mas[] проходит, с int mas[] нет.

С char делаю так:

>//В обработчике отправителя

>void CServerDlg::OnButton()
>{
> HWND hwnd;
> hwnd=::FindWindow(NULL,"Client");

> COPYDATASTRUCT cd;

> char buffer[7];

> strcpy(buffer,"Message");

> cd.lpData=&buffer;
> cd.cbData= sizeof(buffer);

> if (hwnd != NULL)::SendMessage(hwnd,WM_COPYDATA, 0, (LPARAM) &cd);

>}

>//В получателе

>BOOL CClientDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopD)
>{
> char buffer[7];
> strcpy(buffer,(char *)pCopD->lpData);
>
> return CDialog::OnCopyData(pWnd, pCopD);
>}

С int пытаюсь делать так:

//В обработчике отправителя
>void CServerDlg::OnButton()
>{
> HWND hwnd;
> hwnd=::FindWindow(NULL,"Client");

> COPYDATASTRUCT cd;

> int buffer[3];

//например
> buffer[0]=238491;
> buffer[1]=8765;
> buffer[2]=34;

> cd.lpData=&buffer;

> cd.cbData= sizeof(buffer);

> if (hwnd != NULL)::SendMessage(hwnd,WM_COPYDATA, 0, (LPARAM) &cd);

>}

//В получателе
>BOOL CClientDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopD)
>{
//здесь не получается
//свою белеберду показать стыдно
//заранее благодарен за помощь

>}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.