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

MFC Discussion :

[WPF]Lancer une application WPF depuis une application MFC


Sujet :

MFC

  1. #1
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut [WPF]Lancer une application WPF depuis une application MFC
    Bonjour,

    J'ai un problème assez intriguant. Jje souhaiterai lancer une application WPF depuis une application MFC.
    J'utilise un ShellExecute et l'application commence à se lancer. En fait j'arrive a avoir une boite de dialogue invoquée avant que ma Window se dessine, mais l'application plante juste apres.
    En lançant l'application directement sans passer par mon appli MFC, tout tourne parfaitement.
    Je n'ai trouver aucun post traitant de ce sujet.

    Merci de bien vouloir m'aider !

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    tu peux montrer le code d'appel ?

  3. #3
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    En fait j'ai pas le code sous les yeux et je l'aurai pas avant mercredi.
    Mais de tete, il me semble que c'était :
    ShellExecute(NULL, NULL, "\monchemin\monApp.exe", NULL, NULL, SW_SHOW);

    Merci d'avance !

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075

  5. #5
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    En fait c'est exactement làbas que j'ai récupéré le code.
    J'ai changé les aruguments pour tester si ca marcherai mais ca n'a rien changé.
    Au début j'utilisai WinExec() et en fait j'avais le même résultat.

  6. #6
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    J'ai essayer de lancer mon application avec ShellExecuteEx et CreateProcess.
    Dans tous les cas ça ne marche pas.
    J'ai finalement recréé une application WPF toute simple et ca a marché.
    J'ai ensuite fais plusieurs test en modifiant l'application pour qu'elle ressemble petit à l'application que je souhaite lancer. Et finalement le lancement de l'application a planté quant mon application WPF utilisait une dll.
    Peut-être que quelqu'un pourra me dire pourquoi ça ne marche pas.

    Merci encore

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    peut être parce qu'il ne la trouve pas ....
    un dll doit être placée dans le chemin de recherche Windows ou dans le répertoire de l'exécutable.

  8. #8
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    Oui je comprends bien. Mais le truc, c'est que si j'execute cette application directement sans passer par mon application MFC, ca marche !
    Mais si j'esseye de l'executer depuis cette fameuse application MFC, ca plante au moment où l'affichage se fait (apparement puisque je recois tous mes messages envoyés avant affichage).

  9. #9
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    Citation Envoyé par Anikinisan
    Oui je comprends bien. Mais le truc, c'est que si j'execute cette application directement sans passer par mon application MFC, ca marche !
    Mais si j'esseye de l'executé depuis cette fameuse application MFC, ca plante au moment où l'affichage se fait (apparement puisque je recois tous mes messages envoyés avant affichage).
    ce que tu dis ne garanti pas pour autant que les conditions de lancement (chemins d'executions) soient identiques ..

  10. #10
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    Hum
    Je suis absolument certain que le chemin est bon.
    C'est le même exe que je lance.
    Mais je n'ai peut-être pas compris ce que tu voulais me dire ?

  11. #11
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    le pb est clair ,shellexecute est utilisé par l'explorateur pour lancer une application.
    et la ça ne plante pas.
    l'erreur doit donc venir du contexte d'appel: chemin de recherche,arguments founis à l'application...

  12. #12
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    Merci de ta réponse !
    Est-ce que tu connaitrai un moyen de voir quels sont les arguments utilisés par l'explorateur ? Merci encore.

  13. #13
    Membre éprouvé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Points : 1 270
    Points
    1 270
    Par défaut
    Finalement le probleme est resolu, mais je ne sais pas comment il a été résolu...
    Je travailllai sur autre chose et finalement ça a marché. Je pense que ça venait des assembly partagés parce que la seule chose qui a changé par rapport au moment où javais le probleme sont les .msi que j'ai installés (tout le redist package en fait). Ce qui est bizarre c'est que je n'utilisait que CRT et MFC. Et que je pouvais lancer l'application quand je ne passais pas par mon aplli MFC.
    Enfin voila je met Résolu quand meme.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer une application locale depuis une page Web
    Par stephane.combes dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 07/07/2011, 10h03
  2. [FAQ C#] Comment ne lancer qu'une seule instance de mon application WPF ?
    Par Gregory.M dans le forum Windows Presentation Foundation
    Réponses: 16
    Dernier message: 18/11/2010, 18h08
  3. Réponses: 2
    Dernier message: 22/12/2009, 16h35
  4. Lancer une applet interne depuis une application
    Par broumbroum dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 26/11/2006, 10h48
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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