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

C# Discussion :

intégrer une application externe


Sujet :

C#

  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut intégrer une application externe
    Bonjour,

    Je cherche à intégrer une application externe dans un winform en c# avec Visual Studio 2010. Je veux créer un bouton à partir duquel on peut lancer putty ou autres applications. Je souhaite l’intégrer dans une ma winforms

    Merci d'avance

  2. #2
    Membre confirmé Avatar de bobjoumi
    Profil pro
    Inscrit en
    Février 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2009
    Messages : 94
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Diagnostics.Process.Start("putty.exe");

  3. #3
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    Merci, déja fait,
    mais comment je peux intégrer l'application lancée dans ma winforms?

  4. #4
    Membre confirmé Avatar de bobjoumi
    Profil pro
    Inscrit en
    Février 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2009
    Messages : 94
    Par défaut
    un genre de MDI?

  5. #5
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    oui,
    avec un splitContainer, car j'ai réussi à afficher d'autres winforms dans le panel 2 du splitContainer

    Merci

  6. #6
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut intégrer application externe dans un panel
    Bonjour,

    SVP comment je peux intégrer mon application externe dans un panel de ma winforms??

  7. #7
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    En utilisant l'Api SetParent

    Ici

    Voilà

  8. #8
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    ça n'a pas marché, l'exe s'affiche toujours en dehors de la form
    je l'ai essayé depuis hier
    y a t'il une propriété à modifier ou autre chose à faire???

    Merci pour l'aide

  9. #9
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    Bonjour,
    J'ai téléchargé une application d'ici qui doit normalement marché mais dommage j'ai eu le même problème: deux fenêtres séparées (ma form et la page d'IE)
    Vraiment je comprend pas pourquoi? Est ce qu'il y a une propriété à modifier ou quoi?
    Merci d'avance

  10. #10
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut application heberge une autre fenetre
    bonjour
    effectivement quand on met iexplore.exe,il ouvre iexplore mais dans une fenetre independante.
    par contre si je mets notepad.exe ou wordpad.exe il s'ouvre bien dans le control fourni.
    donc un bug quelque part ....pour iexplore malgre que l'auteur le donne comme exemple.
    bon code....

  11. #11
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    Bonjour,
    Et si je veux intégrer ma propre application développée en MFC(MDI) dans ma Form, alors je peux pas le faire??
    Merci

  12. #12
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    salut, je ne connais plus les noms de fonctions par coeur, mais tu peux lancer un process sans afficher la fenêtre du shell. ensuite tu peux rediriger la sortie (texte) vers non pas le shell mais vers une memorystream (ou autre) que tu peux afficher dans un textbox (par exemple) (la fonction s'appelle Console.SetOut() il me semble).
    maintenant je ne sais pas si le texte de Putty pourra être redirigé...

  13. #13
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    Citation Envoyé par Themacleod1980 Voir le message
    maintenant je ne sais pas si le texte de Putty pourra être redirigé...


    Maintenant je sais approximativement le problème mais j'ai pas pu encore le résoudre:
    Il faut tout d'abord ajouter cette ligne avant le SetParent(...)(Suivez Ce lien en détails)
    Pour afficher le exe dans le panel, il faut absolument ajouter cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    newProcess->WaitForInputIdle();
    sinon l'application externe s'affiche en dehors de la form

    Le problème maintenant est que si j'intègre une autre application programmée en 2010(application MFC MDI), l'application s'affiche à l'extérieur
    or pour une autre application en 2008(application MFC MDI) c bon

    Je sais pas exactement quel est le problème???
    Merci

  14. #14
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut WaitForInputIdle
    bonjour,
    cette fonction Api doit etre appele lors de l'appel à l'Api windows CreateProcess .
    Si un processus parent cree un processus enfant ,pour interagir avec le processus enfant il faut tester la valeur de la fonction WaitForInputIdle pour savoir si le processus enfant(notre exe.name en l'occurence) a termine son initialisation et peut interagir avec le processus parent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    'appel a WaitForInputIdle avec parametres
    DWORD WINAPI WaitForInputIdle(
      __in          HANDLE hProcess,
      __in          DWORD dwMilliseconds
    );
     
    ' valeur de retour:
    '-0   success
    '-WAIT_TIMEOUT  le delai specifie (2eme param ) est depasse 
    '- WAIT_FAILED    survenance d'une erreur et on ne peut pas interagir.
    Nota-Bene(doc msdn): une application console ou une application sans -queue de message -retourne immediatement et n'attends pas la fin de l''initialisation du processus child.Ce sont des applications sans fenetres.

    Maintenant effectivement l'auteur du controle a procede comme suit:
    -son controle -qui joue le role d'un processus parent-recoit en param le nom du processus enfant
    -il cree un processus enfant
    -il appele sur ce processus enfant waitforinputidel sans parametre de delai d'attent ni handle process.
    -il ne teste pas la valeur de retour renvoye pour voir si l'appel s'est deroule sans erreur.
    -il demande directement le handle de fenetre principale du processus enfant.
    -il lui affecte comme parent notre controle.
    Aussi je pense qu'il faut un "if" sur p.waitforinputidle pour connaitre la valeur de retour et le succes ou l'echec de l'appel avant d'appeler SetParent.
    Par ailleurs est-ce que Iexplore.exe possede une queue de message en propre ou bien c'est la fenetre html qui prend en charge la queue de message,car il reagit comme une application console.
    tiens nous au courant de tes peripeties ....
    bon code..
    bonne soiree..........

  15. #15
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    Bonjour,
    Merci MABROUKI pour l'explication
    Maintenant mon problème n'est plus avec le IExplorer car j'ai réussi à l'intégrer,
    mais ce que je veux maintenant est d'intégrer une autre application MFC MDI développée en VS 2010 (intégrer l'exe bien sûre).
    Avec les applications développées en 2010 ayant un style Windows7 ou bien Office 2007, l'intégration n'aura pas lieu
    Avec d'autres styles comme par exemple le style office 2003, il y aura intégration
    Et franchement je n'est trouvé aucune explication à ça
    Merci

  16. #16
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut integrer application dans une fenetre
    bonjour,il faut voir aussi avec dependency walker(depends.exe),les fichiers dll à redistribuer avec l'application peut etre que ca vient de ca.
    bon code...

  17. #17
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut Intégration d'autres types d'applications
    Bonjour,

    l'intégration n'aura pas lieu non seulement avec les applications de style office 2007 ou windows 7, mais aussi pour une application "automation server"
    je veux bien savoir pourquoi parfois il y a intégration et parfois non
    ça dépend de l'exe ou bien de mon application
    Merci d'avance

Discussions similaires

  1. [VB.NET] Intégrer une application externe dans un Winform
    Par chr.colle dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/12/2010, 16h15
  2. Réponses: 0
    Dernier message: 19/03/2010, 14h13
  3. Réponses: 12
    Dernier message: 23/01/2008, 09h17
  4. Réponses: 6
    Dernier message: 07/09/2005, 20h31
  5. [Excel] Utiliser une application externe par une macro
    Par thierry2.dlp dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2005, 22h07

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