Почему делает Windows SendMessage (), всегда возвращают НУЛЬ, даже доставка сообщений является успехом? Там должен так или иначе проверить отказ доставки сообщений с SendMessage ()?
Править
Забыл упоминать, что я использую SendMessage () в C++ DLL
LRESULT result = ::SendMessage(hwndOtherWindow,WM_COPYDATA, NULL/*(WPARAM)this->GetSafeHwnd()*/,(LPARAM)&structCDS);
"результатом" всегда является нуль :(, но сообщение поставляет к другому окну успешно
Править
BOOL CDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct)
{
return /*CDialog::OnCopyData(pWnd, pCopyDataStruct)*/ true; //true is the trick
}
Нулевой возврат из SendMessage для WM_COPYDATA означает, что целевое приложение не обработало сообщение (FALSE = 0).
Сообщение может быть доставлено успешно, но если целевое приложение не обработает сообщение должным образом (т.е. неверное возвращаемое значение или передача его в процедуру окна по умолчанию), то ваш вызов SendMessage вернется с неверным результатом.
Возможно, стоит посмотреть, как целевое приложение обрабатывает сообщение WM_COPYDATA, если это возможно.