2011-01-10 1 views
1

Actuellement, je travaille sur un exemple qui envoie des données utilisateur à l'autre processus en utilisant WM_COPYDATA. Je construis la structure COPYDATASTRUCT pour remplir les données utilisateur. Et envoyez les données à un autre processus en utilisant la fonction SendMessage(). La fonction OnCopy() renvoie la valeur true/false. Mais vous voulez obtenir autre chose que le vrai/faux (comme int, char [], float, etc).Obtention d'une réponse de SendMessage() + WM_COPYDATA

S'il vous plaît aidez-moi à obtenir la réponse de l'autre procédé autre que vrai/faux

Cordialement

+0

Donc, vous voulez modifier le type de valeur de retour d'une fonction dans l'API Windows? Bonne chance avec ça. –

+1

Cody Gray, je ne veux pas changer la valeur de retour à changer. mais je veux récupérer le résultat responce autre que vrai/faux. –

+0

Envoyez donc un autre message de la même manière que vous avez envoyé l'original. Je ne comprends toujours pas la question. –

Répondre

2

Salut tout ce que vous pouvez pour faire sa réponse d'envoi par SendMessage avec struct COPYDATASTRUCT qui consistent vos données de retour. Vous ne pouvez pas modifier le type de retour SendMessage.

+1

Je recommande fortement d'utiliser SendMessageTimeout (SMTO_ABORTIFHUNG) plutôt que SendMessage()! Sinon, si le processus de réception est suspendu, le processus d'envoi sera également suspendu éternellement! – Elmue

+0

SendMessageTimeout dépend de votre protocole. Souvent, vous voulez bloquer le client éternellement, et en particulier lors du débogage et un côté déclenche un point d'arrêt. – Lothar