ShellExtend et paramètres

Résolu
amiraldai Messages postés 4 Date d'inscription mercredi 29 novembre 2006 Statut Membre Dernière intervention 6 août 2008 - 4 août 2008 à 16:18
amiraldai Messages postés 4 Date d'inscription mercredi 29 novembre 2006 Statut Membre Dernière intervention 6 août 2008 - 6 août 2008 à 09:11
Bonjour, j'aimerais ajouter a l'un de mes applications une extension du menu contextuel: en gros je voudrais clicker droit sur un fichier + mon raccourcie puis l'application se lance avec l'url du fichier en parametre.

Je sais que le sujet est revenu souvent sur le site mais les réponses que j'ai trouvé ne m'ont toujours pas débloqué: j'ai réussi sans problème à faire le shellextend en lancant un executable mais je ne comprend pas comment je dois faire pour récupérer le fichier.

Merci d'avance si quelqu'un arrive à me débloquer car c'est assez urgent.

6 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
4 août 2008 à 16:39
procedure TFormX.FormCreate(Sender: TObject);
begin
  if ParamCount > 1 then
    if FileExists(ParamStr(1)) then
      { ouvrir fichier ParamStr(1) }
end;








<hr size="2" width="100%" />
3
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
4 août 2008 à 17:06
Pour ton extension du menu contextuel tu passes forcément par la base de registres.
Il faut donc juste que tu rajoutes à la clé que tu as crée qu'elle doit transmettre le nom du fichier cliqué. Après, c'est comme dis f0xi.

Par exemple, pour la commande open tu auras : "C:\...\mon Prog.exe" "%1" (guillemets et espaces inclus).

Mais d'ailleurs, c'est quoi cet exécutable qui fait ton extension ? ça me semble foireux.http://www.mx-dev.net
3
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
5 août 2008 à 14:47
Normalement tu met comme extension "*" sans les guillemets et ça permet de le faire pour tous les fichiers.
Maintenant, y'a tellement de programmes qui pourrissent la base de registres que je ne te garantis pas le résultat.

Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.nethttp://te%3C/body
3
amiraldai Messages postés 4 Date d'inscription mercredi 29 novembre 2006 Statut Membre Dernière intervention 6 août 2008
4 août 2008 à 16:51
Merci mais justement je n'ai pas le parametre (l'url du fichier selectionné).
Après je saurais passé d'une application a l'autre.
0

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

Posez votre question
amiraldai Messages postés 4 Date d'inscription mercredi 29 novembre 2006 Statut Membre Dernière intervention 6 août 2008
5 août 2008 à 11:29
 Merci pour les explications, j'ai finalement réussi en reprenant ce que vous avez dit.
Je prenais le problème dans le mauvais sens (en essayant de savoir après coup quel fichier était sélectionné par click droit).

Mon application marche maintenant correctement mais je suis tombé sur un autre problème: sur chaque exemple de shell extend que j'ai pu voir sur le net on choisi toujours certain types de fichier: directory, filetxt, ...
Est-ce possible de donner directement toutes les extensions connues, voir même inconnues ?
0
amiraldai Messages postés 4 Date d'inscription mercredi 29 novembre 2006 Statut Membre Dernière intervention 6 août 2008
6 août 2008 à 09:11
Ca semble bien marcher sur tous les fichiers connus et inconnus, merci de nouveau. Je testerais la compatibilité plus tard sinon car ça ne m'étonnerais pas qu'il y ait parfois des problèmes de registre comme tu l'a rappelé.
0
Rejoignez-nous