-
Ouvrir Avec ...
Bonjour à tous,
j'utilise actuellement MMF 2 Standard, je programme un éditeur de texte, et je voulais savoir si avec MMF on pouvait gérer la commande windows "ouvrir avec..." : en fait, je voudrais, lorsque par exemple on double clique sur un fichier particulier, mon programme s'ouvre, récupère l'adresse du fichier et l'utilise. Est-ce réalisable ???
-
Re: Ouvrir Avec ...
C'est possible avec l'extension YASO mais seulement pour la version developper.
Mais il me semble que l'ont peut le faire en installant l'application avec Install Creator (à confirmer mais je ne sais pas comment on fait).
Ensuite l'application doit récupérer la ligne de commande pour obtenir le lien du fichier à ouvrir.
Enfin je dit juste que ça doit être possible mais je ne sais pas comment [img]<<GRAEMLIN_URL>>/smile.gif[/img]
-
Re: Ouvrir Avec ...
Je crois que l'extension YASO marche aussi avec la version normale, par contre il vaut mieux associer l'extension à l'application dans l'installeur car ça implique de modifier des clefs systèmes dans le registre, donc il faut que l'application soit en mode administrateur pour cela.
Install Creator Pro a une option pour créer les clefs permettant d'associer une extension à un programme, dans l'onglet Info Installation.
Sinon c'est pas compliqué, il suffit de créer les 3 clefs suivantes :
Clé 1 : HKEY_CLASSES_ROOT\.xxx
Valeur = Fichier.XXX
Clé 2 : HKEY_CLASSES_ROOT\XXXFile\shell\open\command
Valeur = "nom_de_chemin\le_programme.exe" /F"%1"
Clé 3 : HKEY_CLASSES_ROOT\XXXFile\Defaulticon
Valeur = "nom_de_chemin\le_programme.exe",0
Remplacer xxx et XXX par le nom de l'extension.
Pour récupérer le nom du fichier passé à l'application, utiliser la fonction CommandItem$("F") (fonction de l'objet Spécial).
Il est possible aussi de ne pas mettre le /F dans la clé numéro 2, mais à ce moment là dans MMF2 il faut récupérer la ligne de commande complète avec CommandLine$ et enlever le nom du programme. C'est possible mais moins facile.
-
Re: Ouvrir Avec ...
D'accord !
Merci beaucoup de m'avoir répondu aussi rapidement et aussi efficacement !
-
Re: Ouvrir Avec ...
Bonjour,
Cette question m'intéresse aussi, par contre je n'ai pas compris cette partie:
"utiliser la fonction CommandItem$("F") (fonction de l'objet Spécial)."??
-
Re: Ouvrir Avec ...
Oui il y a une expression "Ligne de commande" -> "Récupérer la ligne de commande" dans l'objet spécial ( [img]<<GRAEMLIN_URL>>/special.PNG[/img] )
-
Re: Ouvrir Avec ...
A oui c'est ça l'objet spécial, merci!
J'ai testé quelque chose avec ce même objet d'ailleurs et ça ne marche pas:
"Des fichiers ont été déposés"
*Changer la chaîne modifiable en = Drag&Drop, nom du fichier déposé, n° nombre de fichiers déposés
Mais lorsque je dépose un fichier la chaîne devient juste vide...
-
Re: Ouvrir Avec ...
C'est l'index qui n'est pas bon. Quand on dépose 10 fichiers, les fichiers sont numérotés de 0 à 9. Si tu passes le nombre de fichiers comme index, c-a-d 10 dans ce cas, alors il renvoie une chaîne vide.
Pour récupérer le premier fichier déposé il suffit de passer 0 comme index.
-
Re: Ouvrir Avec ...
-
Re: Ouvrir Avec ...
Encore une petite questions:
Comment faire la manipulation avec YASO et Registry2 et laquelle de ces deux extensions est la mieux pour faire cette manipulation sans utiliser l'installeur?
-
Re: Ouvrir Avec ...
Je ne connais pas l'objet YASO.
La manipulation avec Registry2 est assez évidente, il suffit de créer les clefs telles qu'indiquées plus haut. MAIS, ATTENTION, pour créer des clefs dans HKEY_CLASSES_ROOT il faut que l'application soit exécutée en mode administrateur, sinon ça ne marche pas sous Vista et 7 si l'UAC est activée (ce qui est le cas dans 95% des cas).
Forcer l'application à s'exécuter en mode administrateur est possible avec MMF (dans les propriétés de l'application), mais ça n'est pas recommandé sauf si l'application le nécessite vraiment (comme les programmes d'installation par exemple). Au lieu de ça il vaut mieux indiquer à l'utilisateur qu'il doit lui-même lancer l'application en mode administrateur s'il veut associer l'extension au programme.
-
Re: Ouvrir Avec ...
Ok merci pour ces précisions.