cs_yann1974
Messages postés8Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention22 septembre 2003
-
19 sept. 2003 à 12:35
cs_yann1974
Messages postés8Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention22 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.
cs_yann1974
Messages postés8Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention22 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.
jockos
Messages postés321Date d'inscriptiondimanche 22 octobre 2000StatutMembreDernière intervention14 mai 20052 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).
jockos
Messages postés321Date d'inscriptiondimanche 22 octobre 2000StatutMembreDernière intervention14 mai 20052 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_yann1974
Messages postés8Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention22 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...