IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Envoyer une chaine de caract�re d'une appli A vers une appli B avec PostThreadMessage


Sujet :

Visual C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    73
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 73
    Par d�faut Envoyer une chaine de caract�re d'une appli A vers une appli B avec PostThreadMessage
    Bonjour,

    J'ai une application A avec une variable globale CString. Dans cette application je fais:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    strToSend = "coucou";
    ::PostThreadMessage(idThread, THR_AddBN, (WPARAM)(LPCSTR)strToSend, (LPARAM)(LPCSTR)strToSend);
    Dans l'application B, je re�ois le PostThreadMessage:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    UINT CGBN_SaveAutoCtrlApp::OnRcv(WPARAM wParam, LPARAM lParam)
    {
    	char* toto=(char*)wParam;
    Je n'ai rien dans toto. Je pense que ceala viens du fait que ce sont 2 applis diff�rentes, mais existe-t-il un autre moyen pour envoyer l'information dont j'ai besoin.

    Merci pour votre aide

    Sanouk

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Les messages sup�rieurs � WM_USER ne sont pas marshall�s. Si tu veux que la copie des donn�es soit possible, tu dois utiliser un m�canisme d'IPC (communication inter-processus).

    L'un de ces m�canismes de communication est inclus dans le syst�me de messages: Il s'agit du message WM_COPYDATA, dont les donn�es sont marshall�es pour �tre lisibles par le processus destination pendant le traitement du message. Par contre, il est possible qu'il ne marche qu'avec SendMessage() (je n'ai pas test�), donc il faudra l'envoyer � une fen�tre (possiblement invisible), pas directement un thread.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    73
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 73
    Par d�faut
    Bonjour,
    Merci pour ta r�ponse mais j'ai fait autrement, c'est moins �l�gant, je passe par la base de registre pour �crire l'info et je relis de l'autre c�t�.
    Je retiens quand m�me la solution que tu m'as donn�e on ne sait jamais.
    Merci
    Sanouk

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 1
    Dernier message: 02/10/2012, 11h14
  2. R�ponses: 3
    Dernier message: 02/10/2012, 08h27
  3. R�ponses: 3
    Dernier message: 05/05/2011, 12h41
  4. R�ponses: 3
    Dernier message: 10/08/2010, 13h29
  5. R�ponses: 10
    Dernier message: 11/01/2007, 08h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo