web-dev-qa-db-fra.com

Comment puis-je ajouter un élément au nouveau menu contextuel?

Lorsque je clique avec le bouton droit de la souris, je reçois l'option d'ajouter un nouveau fichier avec une extension spécifiée. J'aimerais ajouter des fichiers personnalisés à ce menu afin de pouvoir cliquer avec le bouton droit de la souris et créer un nouveau fichier PHP par exemple.

Comment puis-je faire ceci?

116
James

Pour ajouter des extensions de votre choix à la liste: créez un fichier, ajoutez le contenu ci-dessous, enregistrez-le sous any.reg et exécutez-le.

Note: remplacez .png par l'extension de fichier que vous souhaitez ajouter et remplacez ce que vous voulez par ce que vous voulez.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.png\ShellNew]
"NullFile"=""

La source

63
th3dude

Une dernière chose:

Si vous souhaitez ajouter un fichier en tant que modèle pour le nouvel élément, utilisez

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.html\ShellNew]
"FileName"="html.html"

puis placez le fichier (html.html) dans:

  • Pour votre propre profil: %Userprofile%\Templates
  • Pour tous les utilisateurs: %Allusersprofile%\Templates
  • Pour tout le système: %Systemroot%\ShellNew

Encore un détail: si vous souhaitez supprimer l'entrée "Windows Live Call" , utilisez:

[-HKEY_CLASSES_ROOT\.wlcshrtctv2\LiveCall\ShellNew]
65
Eduardo Molteni

ShellNewHandlerm'a aidé à restaurer le menu> 7> Shell> Entrée de document txt de Windows 7.

enter image description here

  1. Décocher .txt _
  2. Cliquez sur Appliquer
  3. Vérifiez .txt _
  4. Cliquez sur Appliquer
19
Eric

Allez dans l'éditeur de registre et développez HKEY_CLASSES_ROOT

Aller à .file_extention

et créez une clé appelée ShellNew

À l'intérieur de cela, créez une nouvelle clé de chaîne appelée NullFile sans valeur

Par exemple, si je voulais créer une nouvelle entrée pour un objet .wil vierge *, je créerais

[HKEY_CLASSES_ROOT\.wil\ShellNew]
NullFile = ""

* Si l'extension de fichier telle que .wil n'existe pas, je créerais d'abord un fichier avec cette extension et double-cliquer dessus. Ouvrez-le avec le programme de mon choix car cela créerait les autres clés de registre nécessaires et faciliterait votre travail.

18
William Hilsum

Pour supprimer des entrées de la liste, voici un programme qui vous permet d'activer/désactiver les entrées à partir d'une interface graphique. Beaucoup plus facile que de chercher dans le registre!

Malheureusement, cela ne vous permet pas d'ajouter des entrées.

5
Blorgbeard

Aucune de ces méthodes ne fonctionnait pour moi dans Windows 10.

J'ai finalement trouvé cette page qui explique que vous devez référencer la clé une autre} _ contenant le nom et l'icône par défaut.

C'est le minimum nécessaire pour créer une entrée, mais elle n'aura pas d'icône.

Remarque: la troisième entrée est pour une nouvelle cléfichier texteréférencé dans la valeur (par défaut) de.txt

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt]
@="textfile"

[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""

[HKEY_CLASSES_ROOT\textfile]
@="Text Document"

Voici deux manières de spécifier une icône

  1. Dites à Explorer d'utiliser l'icône par défaut pour le type de contenu:
[HKEY_CLASSES_ROOT\.txt] 
@="textfile" 
"Content Type"="text/plain"
"PerceivedType"="text"

ou 2. Spécifiez une icône sousfichier textecomme ceci:

[HKEY_CLASSES_ROOT\textfile\DefaultIcon]
@="%SystemRoot%\\system32\\imageres.dll,-102"

Oh, et du moins pour moi, il suffit de fermer et de rouvrir Explorer (assurez-vous de fermer toutes les instances) pour recharger le menu contextuel. Vous n'avez pas besoin de redémarrer la machine entière.

5
subman

Vous n'avez pas précisé quelle version de Windows vous utilisez - si c'est XP, vous pouvez télécharger le TweakUI PowerToy de Microsoft (également couvert dans Wikipedia ). Cliquez sur Modèles et ajoutez/supprimez des types de fichiers au contenu de votre coeur. Voici à quoi ça ressemble: enter image description here

4
User5910

Il semble que les autres solutions ici sont obsolètes. Au moins aucune de ces solutions ne fonctionnait pour moi dans Windows 10 v. 1709 Build 16299.192 ( Edit : fonctionne toujours dans la version 1809). J'ai effectué des tests sur une VM et voici ce qui fonctionne sous Windows 10 1709 à compter du 2018.01.12:

Ajouter le fichier de registre:

Créez un nouveau fichier de registre avec le contenu suivant:

Windows Registry Editor Version 5.00

; new file type
[HKEY_CLASSES_ROOT\.xyz]
@="xyz"

; template
[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""

; file type name
[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"

Remplacez xyz par l'extension que vous souhaitez ajouter. Et remplacez XYZ test file par le nom de l'extension de fichier (par exemple, un fichier .scss serait "une feuille de style syntaxiquement géniale"). Si vous souhaitez utiliser un fichier de modèle, reportez-vous à l'explication ci-dessous.

Il peut être nécessaire de redémarrer l'Explorateur Windows après avoir ajouté le fichier de registre. Vous pouvez redémarrer Explorer.exe en tapant ce qui suit dans CMD:

taskkill /f /im Explorer.exe & start Explorer.exe

 enter image description here

 enter image description here


Explication du code:

[HKEY_CLASSES_ROOT\.xyz]
@="xyz"

Va créer un nouveau type de fichier dans le registre.

[HKEY_CLASSES_ROOT\.xyz\ShellNew]
"FileName"=""

Cela vous permettra d'utiliser un modèle pour tous les nouveaux fichiers de ce format. Nous pourrions par exemple écrire "template.xyz" et créer un nouveau fichier appelé «template.xyz» et l'utiliser comme modèle. Ainsi, chaque fois que vous créez un nouveau fichier, il contient du contenu prédéfini. Comme Eduardo Molteni mentionné, les chemins pour les fichiers modèles sont: %Userprofile%\Templates, %Allusersprofile%\Templates ou pour l’ensemble du système %Systemroot%\ShellNew. Dans cet exemple, nous n’avons spécifié aucun nom de modèle car nous ne souhaitons en utiliser aucun.

[HKEY_CLASSES_ROOT\xyz]
@="XYZ test file"

Ce sera le nom du type de fichier pour le menu contextuel et les fichiers nouvellement créés. Autant que je sache, laisser cette valeur à blanc ne fonctionne pas.

Icon: _

L'icône est ajoutée une fois que Windows a associé un logiciel au type de fichier.

3
Arete

Créez un fichier texte brut et ajoutez-y la ligne suivante:


Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""

Enregistrez le fichier et renommez son extension en un fichier .reg. Par exemple. "myNewItem.reg". Assurez-vous que vous avez renommé l'extension et pas seulement le nom du fichier comme (myNewItem.reg.txt).

Double-cliquez sur le fichier et votre registre sera mis à jour.

La prochaine étape, et c'est très important, redémarrez directement votre ordinateur. N'essayez donc pas d'ouvrir le menu du contenu pour voir s'il fonctionne déjà! Commencez par redémarrer votre ordinateur.

Si vous ouvrez le menu de contenu pour voir si votre nouvel élément étonnant est déjà répertorié, le registre sera restauré ...

Essayez également ce programme: http://sourceforge.net/projects/shellnewhandler/

2
Bnutoswa

La clé de registre:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew

ne peut pas être modifié pour accomplir ce qui est affiché ou non dans le menu contextuel "Nouveau". Si vous modifiez cette valeur, Explorer la remplacera la prochaine fois que vous cliquerez avec le bouton droit de la souris pour afficher le menu contextuel "Nouveau". Essayez et vous verrez ce que je veux dire.

1
WoodyElf

Ces informations sont officiellement documentées par Microsoft ; normalement destiné aux développeurs qui enregistrent leurs propres nouveaux types de fichiers.

Extension du nouveau sous-menu

Lorsqu'un utilisateur ouvre le menu Fichier dans l'Explorateur Windows, la première commande est Nouveau . La sélection de cette commande affiche un sous-menu. Par défaut, il contient deux commandes, Dossier et Raccourci , permettant aux utilisateurs de créer des sous-dossiers et des raccourcis. Ce sous-menu peut être étendu pour inclure des commandes de création de fichier pour tout type de fichier.

Pour ajouter une commande de création de fichier au sous-menu Nouveau , les fichiers de votre application doivent être associés à un type de fichier . Inclure une ShellNew sous-clé sous la clé pour l'extension de nom de fichier. Lorsque la commande Fichier du menu Nouveau est sélectionnée, le shell l'ajoutera au sous-menu Nouveau . La chaîne d'affichage de la commande sera la chaîne descriptive affectée au ProgID du programme.

Attribuez une ou plusieurs valeurs de données à la sous-clé ShellNew afin de spécifier la méthode de création de fichier. Les valeurs disponibles suivent.

  • Command: Exécute une application. Il s’agit d’une valeur REG_SZ spécifiant le chemin de l’application à exécuter. Par exemple, vous pouvez le configurer pour lancer un assistant.
  • Data: Crée un fichier contenant les données spécifiées. Les données sont une REG_BINARY valeur avec les données du fichier. Les données sont ignorées si NullFile ou FileName est spécifié.
  • FileName: Crée un fichier qui est une copie du fichier spécifié. FileName est un REG_SZ value, défini sur le chemin complet du fichier à copier.
  • NullFile: crée un fichier vide. NullFile ne reçoit pas de valeur. Si NullFile est spécifié, les valeurs Data et FileName sont ignorées.

Et par exemple, créez un nouveau fichier vidempy:

HKEY_CLASSES_ROOT
  (Default) = MyProgram.1
  MyProgram.1
   .myp
      ShellNew
         NullFile

Pour créer un nouveau fichier basé sur un fichier de modèle spécifique:

HKEY_CLASSES_ROOT
   .myp
      (Default) = MyProgram.1
      MyProgram.1
         ShellNew
            FileName: REG_SZ = "%ProgramData%\Microsoft\Windows\Templates\MyNewTemplate.myp"
0
Ian Boyd