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)
>{
//здесь не получается
//свою белеберду показать стыдно
//заранее благодарен за помощь
>}
Вот пример на VC6 передачи массива intов...
После компиляции, запускаешь Server, потом в Client жмешь кнопку Send и наслаждаешься результатом
Здравствуйте, vstrang, Вы писали:
V>Sorrrry.
V>Подскажите начинающему, как с помощью SendMessage передать данные из массива int mas[] в другую программу?
V>С char mas[] проходит, с int mas[] нет.
V>С 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);
>>}
V>С int пытаюсь делать так:
V>//В обработчике отправителя
>>void CServerDlg::OnButton()
>>{
>> HWND hwnd;
>> hwnd=::FindWindow(NULL,"Client");
>> COPYDATASTRUCT cd;
>> int buffer[3];
V>//например
>> 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);
>>}
V>//В получателе
>>BOOL CClientDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopD)
>>{
V> //здесь не получается
V> //свою белеберду показать стыдно
V> //заранее благодарен за помощь
V>
>>}
Здравствуйте, Nazik, Вы писали:
N>Вот пример на VC6 передачи массива intов...
N>После компиляции, запускаешь Server, потом в Client жмешь кнопку Send и наслаждаешься результатом
Спасибо за помощь. Дело пошло дальше.
С уважением. Василий.