Ajouter un élément de menu au menu contextuel de windows uniquement pour le type de fichier spécifique
j'ai dveloped une application qui charge une image en utilisant le menu contextuel de la fenêtre (clic droit sur le fichier) et pour le moment, c'est le travail, mais la clé reg est sur
HKEY_CLASSES_ROOT\*
et il fonctionne avec tous les fichiers.
Je veux que l'élément de menu dans le menu contextuel devrait être affiché uniquement avec .les fichiers jpg.
Whow je peux le faire? Les clés du registre qui je devrais utiliser?
Merci d'avance.
InformationsquelleAutor Sein Kraft | 2010-01-23
Vous devez vous connecter pour publier un commentaire.
1) Identifier le type de fichier (ProgID) pour .les fichiers jpg
Cela peut être fait en vérifiant la valeur par défaut de
HKEY_CLASSES_ROOT\.jpg
. Il pourrait être n'importe quoi basé sur ce que vous avez installé, mais pour les besoins de cet exemple, nous allons l'appelerjpegfile
, commune par défaut.2) Réglez l'élément de menu contextuel (verbe) les propriétés de ce type de fichier
Vous pouvez définir par l'utilisateur les éléments de menu contextuel dans
HKEY_CURRENT_USER\Software\Classes\jpegfile\shell
. Cette clé a une liste de verbes pour le type de fichier. Il y a une clef similaire dansHKEY_LOCAL_MACHINE\Software\Classes\jpegfile\shell
, et ce sont les valeurs système par défaut pour le type de fichier. Vous pouvez mettre un verbe à la clé il y a trop, mais si la même clé existe dans HKCU, il sera remplacé, donc en être avisé.3) de commande de Définir la valeur
Le strict minimum de la valeur de la clé qui doit être mis à l'obtenir pour fonctionner est la valeur par défaut de la
command
sous-clé. Vous devez définir que par le chemin d'accès à votre application, comme suit:HKEY_CURRENT_USER\Software\Classes\jpegfile\shell\open_with_myapp\command
serait fixé à"c:\path\to\myapp.exe" "%1"
. Maintenant, un menu contextuel .jpg fichiers ont une "open_with_myapp" élément qui va lancer votre application lorsque l'utilisateur clique dessus, et passer le nom de fichier du fichier sélectionné comme paramètre. Bien sûr, la manière dont le processus d'application des paramètres dépend de vous, de sorte que vous aurez besoin de définir le paramètre de chaîne à quelque chose de votre application peut traiter.4), autre verbe propriétés
J'imagine que vous allez probablement vouloir le menu contextuel de l'élément à lire quelque chose d'un peu plus amical que le nom de la clé. Vous pouvez avoir le menu contextuel affichage quel que soit l'étiquette que vous souhaitez pour votre article par la valeur par défaut de cette clé (
open_with_myapp
).C'est votre présentation. Certainement vérifier ma réponse à cette question sur l'association d'un fichier qui a une semblable réponse:
editflags
dword de l'entrée, mais pas sûr.)shell
clé pour le nom du verbe touche que vous souhaitez être par défautIl y a une autre clé dans le registre qui fonctionne indépendamment de l'utilisateur par défaut des programmes:
HKEY_CLASSES_ROOT\SystemFileAssociations
. Depuis personne n'a mentionné sur cette question... Pas besoin de vérifier ProgID avant d'ajouter l'élément de menu contextuel. Exemple:Référence: https://docs.microsoft.com/en-us/windows/desktop/shell/app-registration#registering-verbs-and-other-file-association-information