Re: Как передать массив в сообщении?
От: IID Россия  
Дата: 18.05.07 07:00
Оценка: +1
Здравствуйте, DoK_ToP, Вы писали:

DK_>Есть такая необходимость, отправить окну сообщение:

DK_>::SendMessage(hwnd, wPar, lPar)
DK_>и например, в wPar передать массив int[128]

DK_>Это воообще возможно? Как его туда запихнуть и как его потом "прочитать" ?


DK_>afx_msg LPARAM CPROFLEXDlg::OnDeviceMessage(WPARAM wParam, LPARAM lParam)

DK_>{

DK_>// здесь, если это возможно, надо из wPar выковырнуть этот массив

DK_>return 0;
DK_>}

DK_>Может я не очень тщательно лазил по поиску, но времени в обрез.

DK_>Заранее всех благодарю!

Ежели окна в ранзых процессах — WM_COPYDATA
kalsarikännit
Как передать массив в сообщении?
От: DoK_ToP Россия  
Дата: 18.05.07 06:22
Оценка:
Есть такая необходимость, отправить окну сообщение:
::SendMessage(hwnd, wPar, lPar)
и например, в wPar передать массив int[128]

Это воообще возможно? Как его туда запихнуть и как его потом "прочитать" ?

afx_msg LPARAM CPROFLEXDlg::OnDeviceMessage(WPARAM wParam, LPARAM lParam)
{

// здесь, если это возможно, надо из wPar выковырнуть этот массив
return 0;
}

Может я не очень тщательно лазил по поиску, но времени в обрез.
Заранее всех благодарю!
... согласно пророчеству
Re: Как передать массив в сообщении?
От: Аноним  
Дата: 18.05.07 06:45
Оценка:
DK_>Есть такая необходимость, отправить окну сообщение:
DK_>::SendMessage(hwnd, wPar, lPar)
DK_>и например, в wPar передать массив int[128]

DK_>afx_msg LPARAM CPROFLEXDlg::OnDeviceMessage(WPARAM wParam, LPARAM lParam)

DK_>{

DK_>// здесь, если это возможно, надо из wPar выковырнуть этот массив

DK_>return 0;
DK_>}

Ты похоже не очень понимаешь что есть массив... Это есть некая область памяти, на которую всегда можно сослаться по указателю. Вот теперь и подумай: что тебе мешает передать в качестве wParam указатель на начало этой области памяти (т.е. на начало массива)?

Примерно так:

int a [128] = {0};
...
SendMessage (hWnd, (WPARAM) a, lParam);


потом так:

afx_msg LPARAM CPROFLEXDlg::OnDeviceMessage(WPARAM wParam, LPARAM lParam)
{
  int* pArray = (int*) wParam;
  ...
  return 0;
}


DK_>Заранее всех благодарю!


Заранее, это чтобы потом не писать благодарности на каждый ответ? Лодырь ты, однако
Re[2]: Заранее спасибо - это если инет рубанется))) Благодар
От: DoK_ToP Россия  
Дата: 18.05.07 07:00
Оценка:
... согласно пророчеству
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.