Open de plusieurs fichiers dans une seule session

LuckyLucko Messages postés 7 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 19 mai 2009 - 18 mai 2009 à 17:58
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 19 mai 2009 à 16:45
Bonjour,

Je galère pour trouver une solution à mon problème :
Il est possible d'ouvrir plusieurs fichiers au lancement d'un exécutable
via Shell/ShellExecute ou CreateProcess via la ligne de commande
mais comment ouvrir successivement différents fichiers dans une même session d'un exécutable en cours d'exécution sans créer une nouvelle session ?

15 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
18 mai 2009 à 23:12
Salut
Pas clair, ton affaire
Qu'appelles-tu une "session" ?
Si tu dois faire plusieurs actions au lancement d'un programme, bah ... tu les mets à la suite, je ne vois pas pourquoi tu veux relancer le même programme.
De toute façon, même si tu ne lances qu'un seul programme par action, pourquoi le programme continue t-il à tourner ensuite ?
Je sens que je ne comprends vraiment pas ce que tu cherches à faire.
Donne des exemples, ce sera plus parlant.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
PROTEUS91 Messages postés 156 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 décembre 2010
18 mai 2009 à 23:18
Peut etre qu'il veut attendre la fin du premier programme pour lancer le deuxieme puis ainsi de suite... oO

PROTEUS
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 mai 2009 à 08:45
quel est le programme en question ?
par default, Windows va lancer une nouvelle instance.

c'est au programme que tu lances de detecter une autre instance, et de lui communiquer le nom du fichier a ouvrir

nous ne pouvons donc pas te donner de réponse générique.
LuckyLucko Messages postés 7 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 08:59
Désolé si je n'ai pas été suffisamment explicite.

Si tu dois faire plusieurs actions au lancement d'un programme, bah ... tu les mets à la suite, je ne vois pas pourquoi tu veux relancer le même programme.
==============
Je ne veux pas le relancer, juste ajouter de nouveaux éléments à l'instance active

De toute façon, même si tu ne lances qu'un seul programme par action, pourquoi le programme continue t-il à tourner ensuite ?
==============
Pourquoi il serait interrompu ?
Les deux tournent en parrallèle

Peut etre qu'il veut attendre la fin du premier programme pour lancer le deuxieme puis ainsi de suite... oO
==============
Non, non.

Effectivement je n'ai pas du être assez clair.

Mon application lance un programme tiers en ouvrant un ou plusieurs fichiers (avec ShellExecute ou CreateProcess au choix ... + nom_des_fichiers ) -
le programme tiers est une application du style de Notepad++
qui permet d'afficher indépendamment autant de fichiers que désirés.
Une fois les fichiers affichés dans l'application tiers,
mon application reprend la main tout en laissant active l'application tierce.
Le problème que je cherche à résoudre est l'ajout (l'ouverture) d'un fichier supplémentaire dans l'application tierce précédemment ouverte
car un nouveau Shell/ShellExecute ouvrira une nouvelle instance de l'application tierce.

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 mai 2009 à 09:02
quand tu double-cliques sur un fichier dans l'explorateur, ca l'ajoute a l'instance active ?
LuckyLucko Messages postés 7 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 09:41
Bonjour Renfield,
Non.
Si je sélectionne 2 fichiers et que je fais un «Ouvrir avec» ... Notepad++,
les 2 fichiers sont ouverts dans la même instance,
mais pas avec l'application que j'utilise : seul un fichier est ouvert, l'autre est ignoré.
Ce ne serait donc pas possible ?
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 mai 2009 à 09:44
cela dépend de la configuration (registry) de ton poste
ou du bon vouloir de ton appli (de ses codeurs) dont on ne sais toujours pas le nom...

mais si déjà, dans l'explorateur, ca t'ouvre une nouvelle instance...
LuckyLucko Messages postés 7 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 09:54
dont on ne sais toujours pas le nom...

==================
Désolé, c'est tout bêtement vb6 si cela peut aider.

Afin d'être moins bête :
quelles sont les conditions nécessaires du registre pour qu'une application supporte ce comportement ?
Je n'ai pas vu de différence de clés Shell/Command entre Notepad++, Firefox, VB
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 mai 2009 à 10:01
VB6 sais pas le faire... ouvrir n projets dans une même instance. la question ne se pose donc pas.
a moins que je n'ai pas compris la question, mais bon...

concernant le parametrage.
soit c'est effectué au codage, comme expliqué plus haut,
soit on demande a VB de jouer avec une communication DDE pour prévenir l'instance active de l'ouverture d'un second fichier.

dans l'explorateur ; Outils> Options des dossiers> Types de fichiers> Avancé> Modifier> Utiliser DDE
LuckyLucko Messages postés 7 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 11:53
VB6 sais pas le faire... ouvrir n projets dans une même instance. la question ne se pose donc pas.
a moins que je n'ai pas compris la question, mais bon...

==================
il ne s'agit pas d'ajouter un fichier vbp mais d'ajouter un fichier de composants (bas,cls etc) à un project dans une instance de vb
...  depuis un exécutable (qui n'est pas un addin de l'ide)

concernant le parametrage.
soit c'est effectué au codage, comme expliqué plus haut,
soit on demande a VB de jouer avec une communication DDE pour prévenir l'instance active de l'ouverture d'un second fichier.

dans l'explorateur ; Outils> Options des dossiers> Types de fichiers> Avancé> Modifier> Utiliser DDE
==================
J'ai beau modifier la base de registre ... nada -(paramètres manquants ?)
et l'ami google ne fournit pas une foule de littérature sur le sujet malgré 2 heures passées dessus depuis ton post.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 mai 2009 à 11:58
concernant le parametrage, faut que l'appli soit receptive a ce genre de chose... ca se fait au codage, une fois de plus ^^


y'a pas de solution standard.


néanmoins, l'idée est bonne.
faudrait juste faire un Addin, et zou...

- bouton droit sur un .bas (par exemple)
- un executable tiers pourrait lister les projets lancés,
- on choisit notre projet, on coche si on veux effectuer une recopie du module dans le repertoire de l'appli en question
- et hop, ajouté au projet.

bonne idée....


à creuser (je vais chercher ma pelle)
LuckyLucko Messages postés 7 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 12:05
Mon soucis est justement que mon application ne peut être un addin de VBIde
c'est un exécutable indépendant.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 mai 2009 à 12:52
te faut un addin
+ une appli qui transmet le nom du fichier a l'addin
LuckyLucko Messages postés 7 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 16:43
Tant pis.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 mai 2009 à 16:45
pourquoi une contre indacation envers les AddIns ?
Rejoignez-nous