Ouverture via un fichier

Résolu
Messages postés
359
Date d'inscription
mardi 14 octobre 2003
Statut
Membre
Dernière intervention
7 septembre 2009
-
Messages postés
359
Date d'inscription
mardi 14 octobre 2003
Statut
Membre
Dernière intervention
7 septembre 2009
-
Bonjour,
j'aimerai savoir comment faire pour capter l'appel d'un fichier par le programme s'ouvrant. Je m'explique :
pour ouvrir un fichier via un programme, on peut écrire :
Shell "C:\Un programme.exe C:\fichier que je veux ouvrir.txt"

Imaginons que mon prog soit justement "Un programme.exe". Comment faire pour que, à son exécution, il détecte qu'il ait été lancé pour ouvrir "fichier que je veux ouvrir.txt" ?

Cette explication est compliquée pour pas grand chose je sais... :P

Merci d'avance.

7 réponses

Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
Bonsoir,
Simplement en vérifiant l'argument passé à ton exe.

Dans ton form_load
8<------------------------------------------
dim sArg as string
sArg = Command$

If sArg <> vbNullString Then
   MsgBox "Fichier executé: " & sArg
End If
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
Pourquoi ne récupères-tu pas dans un fichier et que tous les x temps tu vas lire ce fichier à partir de ta 1ière instance de ton appli lancé ?
Messages postés
359
Date d'inscription
mardi 14 octobre 2003
Statut
Membre
Dernière intervention
7 septembre 2009

Oui c'est ce que j'ai pensé en premier lieu mais je voulais savoir s'il n'y avait pas une solution plus clean ;), mais bon effectivement je crois que je vais faire ça.
Merci de ton aide
Messages postés
359
Date d'inscription
mardi 14 octobre 2003
Statut
Membre
Dernière intervention
7 septembre 2009

Super, merci je ne connaissais pas la variable :)
Messages postés
359
Date d'inscription
mardi 14 octobre 2003
Statut
Membre
Dernière intervention
7 septembre 2009

2e question : comment récupérer le chemin si le programme est déjà ouvert, sans avoir à utiliser une nouvelle application :P
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
Est bien si tu ne veux pas avoir plusieurs fois ton appli de lancer (plusieurs instance) dans ton form_load tu mets

If App.PrevIntance Then
   'Appli déjà lancé
   'Ici tu vas placer le bout de code donné précédemment
   'Puis décharger la feuille afin de fermer ton appli
   Unload Me
End if

'Si pas déjà lancé
'Tu as juste à replacer le même bout de code.
Messages postés
359
Date d'inscription
mardi 14 octobre 2003
Statut
Membre
Dernière intervention
7 septembre 2009

Oui mais ça ne fait que fermer une seconde appli après lui avoir fait récupérer la valeur, je veux dire il n'y a pas de lien avec la première appli qui est déjà en exécution..