Utilisation du Shell

cs_yann1974 Messages postés 8 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 22 septembre 2003 - 19 sept. 2003 à 12:35
cs_yann1974 Messages postés 8 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 22 septembre 2003 - 22 sept. 2003 à 11:40
Bonjour,

je rencontres quelques problèmes lors de l'utilisation de la commande Shell. J'arrives à lancer mon .exe extérieur à mon appli VB sans difficulté mais pas moyen de lui faire ouvri directemment un fichier sans passer par l'option ouvri... de cet exe.

En fait, mon appli liste les fichiers disponibles, et je souhaites double -cliquez sur un élément sur qui aura pour effet d'ouvrir ce fichier par l'exe que j'aurais choisis.

Est ce possible ????

Merci d'avance.

5 réponses

Diegoch Messages postés 56 Date d'inscription vendredi 30 mars 2001 Statut Membre Dernière intervention 7 septembre 2011 6
19 sept. 2003 à 13:38
PRECISION : C'est quel shell et quelle commande ...
0
cs_yann1974 Messages postés 8 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 22 septembre 2003
19 sept. 2003 à 13:47
Dans mon appli Vb :

ret = Shell(c:\Appfin.exe, vbNormalFocus)

j'obtiens l'ouverture de Appfin mais je veux qu'il ouvre directement un fichier que j'aurais sélectionné....
genre : fonctionnement de "ouvrir avec ...." dans windows.
0
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
19 sept. 2003 à 15:27
Pas de problème pour faire cela, tu as une API toute faite à ta disposition.

C'est l'API ShellExecute.

Tu lui indiques simplement le Chemin du fichier à ouvrir.
Par exemple : "C:\monfichier.doc"
Et elle te lance directement le programme par défaut lié à l'extension du fichier.

(elle va voir simplement dans la clé HJEY_ROOT de la base de registre).

Bref, c'est tout simple...
0
jockos Messages postés 321 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 14 mai 2005 2
19 sept. 2003 à 15:32
C'est tout simple...

Utilise l'API ShellExecute.

Elle te lancera le programme par défaut lié à l'extension de ton fichier.

Par exemple, tu lui passe en paramètre "c:\monFichier.doc" et elle te lancera Word avec ton fichier dedans. (si tu as Word et si le lien est fait dans la base de registre).
Regarde dans la clé HKEY_CLASSES_ROOT, tu trouveras les programmes lançés quand tu ouvres un fichier en double-cliquant dessus (c'est l'extension du fichier qui sert de lien).

Je peux aussi te filer un code pour fermer quand tu veux le programme que tu viens de lancer en ouvrant le fichier. Il faut simplement utiliser ShellExecuteEx (qui à la même fonction quie ShellExecute, mais qui retourne le HANDLE du process lançé). Il te suffit alors d'utiliser une API pour killer le process en lui passant ce HANDLE.

Bon courage....

Jock
0

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

Posez votre question
cs_yann1974 Messages postés 8 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 22 septembre 2003
22 sept. 2003 à 11:40
Re bonjour,

le problème que je rencontres, c'est que je ne veux pas lancer le programme par défaut.

En faite, je veux utiliser un .zip mais pas l'ouvir avec Winzip, car le logiciel que je lances se charges lui même de dézippé et rezippé après utilisation.

il faudrait donc que je puisse spécifié le programme à lancer...

merci.
0
Rejoignez-nous