Re: Забыл поставить тему
От: Nazik Россия  
Дата: 17.08.05 09:39
Оценка:
Вот пример на 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>
>>}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.