mercredi 24 juillet 2013

Ajout d’item dans le bouton droit windows (shell)


Aujourd’hui nous allons voir comment ajouter un item dans le contexte menu Windows lors du clic droit.
image

Attention : les modification de la base de registre doit être fait en étant “Administrateur”

Utilisation manuelle des registres

  1. Lancer regedit.exe (démarrer > exécuter)
  2. Ensemble des items de type fichier (on est avec “*” wildcard)
    • HKEY_CLASSES_ROOT\*\shell\
  3. Ajouter une nouvelle clé (le nom que vous souhaitez : ici shell_test)
  4. Modifier la valeur (double clic ou bouton droit modifier) : “Valeur de l’item”. Cela sera le texte lors du clic droit windows
    • HKEY_CLASSES_ROOT\*\shell\shell_test
  5. Ajouter une nouvelle clé nommée “command” (obligatoirement ce nom)
  6. Modifier la valeur : “D:\Program\Test.exe ‘%1’ ”. Cela servira a lancer l’application. Le paramètre ‘%1’ – facultatif –  permet d’envoyer au programme le fichier sélectionnée
Remarque 1 : il est important de mettre des guillemets sur ce paramètre '’%1' permettant ainsi au fichier (dossier) sélectionné comportant des espaces d’être correctement envoyé. Et non pas considérer comme un autre paramètre (ex : “monfichier avec espace.pdf” considèrera 3 paramètres [0]=monfichier,  [1]=avec, [2]=espace.pdf si il n’est pas mis entre guillemet)
Remarque 2 : si vous souhaitez limiter l’affichage du menu a un type de fichier particulier, il faut se positionner sur :
    • HKEY_CLASSES_ROOT\.doc\shell\
La modification est automatiquement prise en compte, pas de redémarrage requis.
image
Remarque 3 : Lors de l’exécution sur plusieurs fichiers, le programme (command) est appelé autant de fois que de fichiers sélectionnés.

Utilisation via le code C#


Attention : le programme doit être lancé en tant qu’ “Administrateur” L’ouverture est faite uniquement en lecture, du coup, inutile de lancer le programme en tant qu’administrateur.
RegistryKey Registre = Registry.CurrentUser.OpenSubKey(@"Software\MonAppli", true);
return (string)Registre.GetValue("MonChamp");

Pour aller plus loin : (a venir)

  • Utilisation via l’installation (MSI – Wix)

Aucun commentaire:

Enregistrer un commentaire