Pourquoi Windows SendMessage () renvoie-t-il toujours ZERO, même la remise du message est un succès? Y a-t-il un moyen de vérifier l’échec de la dissortingbution des messages avec SendMessage ()?
MODIFIER
J’ai oublié de mentionner que j’utilise SendMessage () dans une DLL c ++
LRESULT result = ::SendMessage(hwndOtherWindow,WM_COPYDATA, NULL/*(WPARAM)this->GetSafeHwnd()*/,(LPARAM)&structCDS);
“result” est toujours nul :(, mais le message est transmis à une autre fenêtre avec succès
MODIFIER
BOOL CDlg::OnCopyData(CWnd* pWnd, COPYDATASTRUCT* pCopyDataStruct) { return /*CDialog::OnCopyData(pWnd, pCopyDataStruct)*/ true; //true is the sortingck }
Un zéro de SendMessage pour WM_COPYDATA signifie que l’application cible n’a pas traité le message (FALSE = 0).
Le message peut être diffusé correctement, mais si l’application cible ne gère pas correctement le message (valeur de retour incorrecte ou transmission à la procédure de fenêtre par défaut), votre appel SendMessage apparaîtra avec un résultat incorrect.
Il peut être intéressant de voir si la gestion de l’application cible du message WM_COPYDATA est, si possible.