IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Ajouter une entrée dans le menu contextuel de windows


Sujet :

Delphi

  1. #1
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut Ajouter une entrée dans le menu contextuel de windows
    Bonsoir,

    J'ai développé une application et je voudrais, lorsque je fais un clic droit sur un fichier .txt par exemple, avoir une entrée dans le menu contextuel de windows indiquant "Ouvir tous les fichiers .txt du dossier"...

    Je sais qu'il faut trifouiller dans la BDR mais j'ai pas trop trouvé et comme on dit, faut pas trop bidouiller la BDR sans savoir ce que l'on fait
    Si quelqu'un peut m'aiguiller

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Re,

    J'ai bidouillé un peu et le code ci dessous a l'air de fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Windows Registry Editor Version 5.00
     
    [HKEY_CLASSES_ROOT\*\shell\FastOpen]
    @="FastOpen"
     
    [HKEY_CLASSES_ROOT\*\shell\FastOpen\command]
    @="FastOpen.exe"
    Maintenant, ce que je cherche à faire, c'est lors du clic droit sur par exemple toto.txt,mon programme FastOpen s'ouvre et récupère le nom du fichier qui l'a appelé (ici toto.txt).

    Je ne sais pas si j'ai étais assez clair, sans quoi, n'hésitez pas a me demander plus d'explications.

    Merci

  3. #3
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut Ermite pas net

    Essaie:

    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Citation Envoyé par Pedro
    Salut Ermite pas net
    Hé oui

    Bon, je vais poussé un peu mes explications et le but du programme

    Mon programme doit, lorsque le fait un clic droit sur fichier.txt par exemple, ouvrir tous les .txt contenu dans le même dossier avec PsPad.

    Pour résumé :

    1) Clic droit sur toto.txt dans c:\monprog
    2) Mon programme s'ouvre, récupére le nom du fichier sélectionné et ensuite, je parcours tous les fichiers du dossiers pour lire les extensions
    3) Les fichiers ayant la même extension que le fichier sélectionné seront ouvert avec Pspad via un ShellExecute

    Le soucis que j'ai, c'est récupérer le nom du fichier sélectionné qui servira de base pour le test des autres fichiers.

    En espérant que ca soit plus clair dans vos esprits
    J'espère avoir de vos réponses (en attendant, je cherche encore)

    Merci

  5. #5
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par ero-sennin
    Hé oui
    Salut Jiraya

    Voila ce que je te conseille:
    Premièrement, il te faut ajouter cette fameuse entrée dans le menu contextuel. Pour celà:
    http://delphi.developpez.com/faq/?pa...#associericone
    Inspire-toi de ce code pour ajouter une action pour les fichiers txt.
    Cette action lancera ton prog qui récupèrera le fichier txt.
    Une fois le fichier récupéré, extrait le répertoire (ExtractFilePath) et ensuite, par le code, parcourt le répertoire et ouvre autant de programme que tu veux dès que tu rencontres un txt
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  6. #6
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Re,

    Je viens de voir ton post (pour dire, j'avais même pas trouvé dans la FAQ !!)

    Sauf erreur de ma part, cela enregistre dans le registre tout ce qui doit être renseigné pour créer mon nouvel item dans le menu contextuel.

    Cependant, je ne vois toujours pas comment récupérer le %1 (qui me donne le chemin du fichier a ouvrir) dans mon application.

    Je suis pas bête pourtant? Si???!!!

  7. #7
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par ero-sennin
    Cependant, je ne vois toujours pas comment récupérer le %1 (qui me donne le chemin du fichier a ouvrir) dans mon application.
    Le "%1" est une "commande" de Windows. En fait, ce %1 représente le nom du fichier sélectionné
    Du coup, il te suffit simplement que ton appli prenne en compte les paramètres. Windows se fera un plaisir de remplacer %1 par le fichier sélectionné et donc passera ce nom de fichier en paramètre pour ton appli
    Citation Envoyé par ero-sennin
    Je suis pas bête pourtant? Si???!!!
    Meuh non
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  8. #8
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Lol, décidemment, j'ai du mal, tu m'excusea ...

    J'ai un bout de code, juste pour tester comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    procedure TForm1.FormCreate(Sender: TObject);
    var
    i:integer;
    fichierSelectionne:string;
    extension:string;
    dossierActuel:string;
    begin
    fichierSelectionne:=????;//La je comprends pas comment tu veux récupérer mon fichier sélectionné
    dossierActuel:=???;//La je sais faire mais pas le temps de le coder.
    extension:=ExtractFileExt(fichierSelectionne);
    grille:=TStringList.Create;
    if (FindFirst(dossierActuel+'*'+extension,faDirectory,sr))=0 then
    begin
     Begin
     repeat
     if (sr.Name<>'.')And(sr.Name<>'..')Then
     begin
     //ShowMessage(sr.Name);
     grille.Add(sr.Name);
     ShowMessage(grille.Text);
     end;
     until FindNext(sr)<>0;
     end;
     end;
    end;
    C'est juste un petit code comme ca de test.
    C'est surtout la récupération du fichier qui m'intéresse et c'est ca que je comprends (toujours) pas.

    Merci pour ton aide Pedro

  9. #9
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Allons un grand ninja comme toi sais chercher avec quand même
    ParamStr et ParamCount
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  10. #10
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Trop bête que j'étais!!!!!

    Je m'obstinai à mettre %1 en paramètre à ParamStr depuis hier soir!!!
    Le principal, c'est que j'ai compris le fonctionnement !!
    Merci Pedro pour tes explications et désolé de t'avoir déçu (même les plus grands ninjas ont des moments de faiblesses )

    Merci encore
    Cordialement Ero-Sennin

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter une entrée dans le menu contextuel de la barre de titre sous Windows
    Par Tyler_Durden dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 20/10/2008, 09h50
  2. Ajouter une icone dans le menu contextuel de Windows
    Par Baalberith dans le forum Windows
    Réponses: 6
    Dernier message: 01/09/2008, 10h04
  3. Comment ajouter une entrée dans le menu contextuel
    Par Ex0w@tt dans le forum Windows XP
    Réponses: 6
    Dernier message: 11/11/2007, 16h46
  4. Ajout d'une entrée dans un menu contextuel
    Par olive_le_malin dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 08/06/2006, 08h37
  5. Ajouter une commande dans le menu contextuel
    Par Tenguryu dans le forum C++Builder
    Réponses: 2
    Dernier message: 02/04/2006, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo