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

C# Discussion :

[C#] Comment ajouter entrée dans menu contextuel windows ?


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 156
    Points : 54
    Points
    54
    Par défaut [C#] Comment ajouter entrée dans menu contextuel windows ?
    Bonjour,

    je souhaiterais savoir comment on pourrait ajouter une entrée dans le menu contextuel de windows. Par exemple, un clic droit sur une image ferait apparaître dans le menu contextuel une entrée qui permettrait éventuellement de pouvoir redimensionner l'image, ou je ne sais quoi d'autre.
    J'ai déjà cherché un peu dans la msdn, mais je n'ai rien vu qui y correspondait.

    Comment faire? Et comment donner des fonctions à cettre entrée de menu.

    D'avance merci,

  2. #2
    Membre habitué Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Points : 177
    Points
    177
    Par défaut
    salut penchu !

    Si tu utilises VB.NET essaye ceci:

    dans ta fenêtre déclare:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        Private WithEvents Menu1 As New MenuItem("M1")
        Private WithEvents Menu2 As New MenuItem("M2")
    dans le constructeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Me.ContextMenu = New ContextMenu
    Me.ContextMenu.MenuItems.Add(Menu1)
    Me.ContextMenu.MenuItems.Add(Menu2)
    Ensuite, dans le combo en haut à gauche de ta fenêtre d'édition de code (celui qui te donne tous les objets de ta fenêtre), sélectionne Menu1, et dans le combo de droite, l'évènement Click, cela affichera une fonction que tu n'auras plus qu'à remplir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Private Sub Menu1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Menu1.Click
               'Traitements...
        End Sub
    "On peut dire qu’il est possible de savoir comment vaincre sans être capable de le faire" - Sun Tze, in L'art de la guerre

    "Mais t'es complètement naze ou quoi ?! UNE pomme ! ça fait DEUX moitiés de pomme !! mais quand vas-tu le comprendre ?! J'en ai ma claque, j'me tire !" - Bouddha et un disciple, dans un moment de faiblesse

  3. #3
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 156
    Points : 54
    Points
    54
    Par défaut
    non, ce n'est pas ça que je souhaite faire. Ca va me faire un menu contextuel sur mon appli, mais je ne pense pas que ça va me créer une entrée de menu en plus dans le menu contextuel de windows.

    enfin, j'essaierai quand même, mais je suis perplexe

    Merci en tout cas

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Effectivement il me semble qu'un post ancien repondait à cette question mais je ne le retrouve plus
    Je crois qu'il faut passer par les API Windows pour modifier le Menu System
    regardes un peu chez http://www.pinvoke.net/
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 156
    Points : 54
    Points
    54
    Par défaut
    ok, vais jeter un oeil.

    Merci

  6. #6
    Membre du Club Avatar de cacalex
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Points : 50
    Points
    50
    Par défaut
    Y'as plus simple :

    Manip du registre...

    Par exemple, pour ajouter un menu "Ouvrir avec 'ProgX'" dans le menu contextuel d'un dossier, il faut aller à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_CLASSES_ROOT\Folder\shell\Ouvrir Avec ProgX\command
    Et mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "c:\Program Files\ProgX\ProgX.exe" %L
    (%L est le path du dossier)...
    Ainsi, le menu contextuel des dossier contient maintenant la commande "Ouvrir avec 'ProgX'" ...

    Pour des fichiers spécifiques, c'est le même principe :
    (Pour JPG)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    HKEY_CLASSES_ROOT\jpegfile\shell\open\command
    "c:\Program Files\ProgX\ProgX.exe" %1   
    (%1 =  path du fichier)

  7. #7
    Expert éminent
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Points : 6 566
    Points
    6 566
    Par défaut
    Et la même chose pour le background d'un dossier, ça existe ?

  8. #8
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par elitost
    Et la même chose pour le background d'un dossier, ça existe ?
    Ceci ne depend-il pas aussi de la version Windows : il me semble que c'est aussi lié à la presence d'un fichier desktop.ini dans ce même dossier
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  9. #9
    Expert éminent
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Points : 6 566
    Points
    6 566
    Par défaut
    Apparement la clé pour le menu contextuel sur les fond de répertoire est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HKEY_CLASSES_ROOT\Directory\Background
    Commend faire pour executer une commande dos dans ce contexte là ?

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/11/2012, 20h45
  2. [OS] Ajouter des entrées au menu contextuel
    Par Ghorbaz dans le forum Mac OS X
    Réponses: 9
    Dernier message: 22/09/2011, 17h15
  3. Réponses: 41
    Dernier message: 11/12/2009, 11h24
  4. Réponses: 0
    Dernier message: 15/04/2008, 15h02

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