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 :

Ouvrir Deux fciher avec ShellExecute dans une meme instance d'application


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 51
    Points : 36
    Points
    36
    Par défaut Ouvrir Deux fciher avec ShellExecute dans une meme instance d'application
    Bonsoir,

    Je viends d'écrire ce petit code qui ouvre deux fichiers test.xxx avec une appli COMDCOM.

    Chaque fichiers s'ouvre avec une instance d'application diférente, une appli ouvre un fichier.

    Peut on à l'aide de ShellExecute spécifier l'ouverture des deux fichiers dans la meme application.

    Avec un double click sur chaque fichiers ils s'ouvrent dans la même appli.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
      SHELLEXECUTEINFO ExecuteInfo;    
      memset(&ExecuteInfo, 0, sizeof(ExecuteInfo));
     
      //ouvrir application avec premier fichier
      ExecuteInfo.cbSize       = sizeof(ExecuteInfo);
      ExecuteInfo.fMask        = SEE_MASK_NOCLOSEPROCESS;                
      ExecuteInfo.hwnd         = 0;                
      ExecuteInfo.lpVerb       = "open";                      
      ExecuteInfo.lpFile       = "V:\\PrjTmp\\COMDCOM\\Debug\\COMDCOM.exe";
      ExecuteInfo.lpParameters = "V:\\PrjTmp\\COMDCOM\\Debug\\test3.xxx";
      ExecuteInfo.lpDirectory  = 0;
      ExecuteInfo.nShow        = SW_SHOW;
      ExecuteInfo.hInstApp     = 0;   
      bool result = ShellExecuteEx(&ExecuteInfo) ;
      if( result == FALSE )
      {
      // erreur
        printf("Erreur lancement testarg.exe");
      }
     
      //ouvrir un second fichier
      ExecuteInfo.lpFile       = "V:\\PrjTmp\\COMDCOM\\Debug\\COMDCOM.exe";
      ExecuteInfo.lpParameters = "V:\\PrjTmp\\COMDCOM\\Debug\\test4.xxx";
      result = ShellExecuteEx(&ExecuteInfo) ;
      if( result == FALSE )
      {
      // erreur
        printf("Erreur lancement testarg.exe");
      }
     
    	printf("Hello World!\n");
    	return 0;
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Un double-clic sur le fichier dans l'explorateur ne fait pas un ShellExecute() avec l'exe en lpFile et le fichier en lpParameters: Il fait un ShellExecute() avec le fichier en lpFile et rien du tout en lpParameters.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 51
    Points : 36
    Points
    36
    Par défaut
    Merci pour la réponse.

    Peut on par une autre fonction spécifié l'executable à ouvrir, et en parametre un fichier à ouvrir et d'autres parametres si nécessaire ?

    MErci d'avance

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Tu peux toujours mettre deux noms de fichiers à ouvrir dans les paramètres, si le programme le supporte...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 51
    Points : 36
    Points
    36
    Par défaut
    Cette solution ne me permettrait pas de régler mon souci. Il faut qu'une premiere application puisse lancer des fichiers gérés par une autre appli a des moments différents et que tous les fichiers à ouvrir s'ouvre dans le meme instance de l'application. Il est important aussi que cette fonctionalité soit indépendnate des extensions associés aux programme cible. C'est pour cela que je voudrais passer en parametre de l'éxecutable le fichier à ouvir et éventuellment d'autres parametres.

    Je cherche peut être dans la mauvaise direction si quelqu'un pense à une autre solution je suis à l'écoute;

    Merci encore

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Dans ce cas, tu fais comme le fait le shell: DDE.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 51
    Points : 36
    Points
    36
    Par défaut
    DDE , ca consiste en quoi ? je connais pas du tout. Tu peux m'éclairer

    Merci pour tes conseils.

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Connais pas non plus.
    Mais je crois bien que c'est comme ça que fait IE pour ouvrir un deuxième fichier dans Word quand Word est déjà ouvert...

    Regarde dans les associations de fichiers, il y a des options en plus...

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 51
    Points : 36
    Points
    36
    Par défaut
    Je vais chercher par la mais je voudrais que mon prog soit indépendant des associations de fichiers.

    Merci pour l'aide A+

Discussions similaires

  1. Gerer deux bases de donnes dans une meme application
    Par skunkies dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/12/2008, 16h03
  2. Probleme insertion de deux fiches avec BDE dans un meme projet
    Par jojojojo57 dans le forum Bases de données
    Réponses: 4
    Dernier message: 22/03/2007, 08h55
  3. Problème avec Insert dans une table contenant deux clés
    Par pure_blue dans le forum Accès aux données
    Réponses: 5
    Dernier message: 23/10/2006, 19h32
  4. Deux NuméroAuto dans une même table
    Par ginaub0 dans le forum Access
    Réponses: 1
    Dernier message: 31/07/2006, 17h13
  5. ouvrir des liens dans une meme page
    Par amika dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 20/02/2006, 15h12

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