Il faut tout d'abord créer une clé dans le registre pour ajouter le menu contextuel qui permettra d'ouvrir ton exe.
Ensuite rechercher le chemin du fichier sur lequel on fait le clic droit. Après l'action que l'on veut faire sur ce fichier.
Je n'ai pas VB.Net (j'ai laissé tomber : trop gourmand en ressources). De plus, ce programme doit être livré à d'autres personnes : je ne peux pas leur demander de modifier la base de registres !
Je vais attendre encore un peu. Si je n'ai pas de solution pour intercepter le nom de fichier, je vais utiliser Drive/Dir/List boxes pour accéder au fichier.
En deux mots, tu veux faire un drag&drop sur l'icône de ton application ?
Il faut utiliser la variable COMMAND$ pour avoir les arguments...
Sinon, il faut faire un scrit pour enregistrer les clés dans le registre pour ajouter une commande dans le menu (à l'installation) ou toujours utiliser le programme avec le type d'argument donné.
Si j'ai bien compris, l'utilisation de COMMAND$ est la suivante :
monExeVB6.exe C:\Le réperrtoire\le fichier.xxx et le contenu de Command$ te renverra
C:\Le réperrtoire\le fichier.xxx
Le problème est qu'il faut spécifier le nom du fichier lors de l'exécution du programme.
Je veux seulement récupérer ce nom dans le programme appelé par Ouvrir avec...
Que ce soit en glissant et relâchant un fichier sur ton exécutable ou une icône, ou en utilisant "Ouvrir avec", Windows va envoyer le nom du fichier exclave vers le fichier maître du type monExeVB6.exe C:\Le réperrtoire\le fichier.xxx.
Mais dans certains cas, il te faudra éliminer quelques guillemets ajoutés pas Windows.
Fais un projet vierge avec seulement une textbox, puis sur le Form_load, textbox.text=command$
Puis tu compiles et tu glisses un fichier dessus... ou tu envoies un fichier texte avec un "Ouvrir avec".
Le fichier exclave s'affichera.
Vous n’avez pas trouvé la réponse que vous recherchez ?
J'ai fait un test avec un bête fichier TXT : même erreur. Bon, je crois que je vais me contenter du drag-and-drop, plus rapide qu'un Ouvrir avec.. Et de plus, lui, il fonctionne !
Je ferme le sujet. Mon programme va utiliser la COMMAND$ s'il est appelé via un drag-and-drop. Si c'est par un double-clic, je teste si COMMAND$ est à Null, alors j'utilise Drive/Dir/List boxes pour accéder au fichier.