C # Windows Ouvrir avec> 'comportement de menu contextuel [double]
-
05-10-2019 - |
Question
Possible en double: association avec l'application Filetype (C #)
J'écris un Windows C # application pour visualiser et modifier des fichiers '.build' (scripts Nant). Je voudrais à l'utilisateur de pouvoir faire un clic droit sur un fichier .build dans l'Explorateur Windows et sélectionnez l'option « Ouvrir avec> » pour permettre le fichier à modifier dans mon application.
Qu'est-ce que mon besoin de programme de soutien en vue de travailler avec ce mécanisme? Que pourrait mon besoin de programme pour le faire à Windows pour activer le support du menu contextuel?
Je me demandais si quelqu'un pouvait me diriger dans la direction d'un bon article / tutoriel sur ce sujet.
La solution
La commande Ouvrir avec passe juste le chemin du fichier comme premier argument à l'application tout ce que vous devez faire est de
public static void Main(string[] args)
{
if(args[0] != null)
{
//args[0] contans a path to the file do whatever you need to do to display it
}
else
{
//Start normally
}
}
Pour mettre votre programme en automaticly plein air avec la liste, vous devrez ajouter quelques touches rég HKEY_CLASSES_ROOT\YOUR_EXT\
. est ici une réponse SO disant comment faire
Ou vous pouvez simplement l'ajouter à la main à l'air libre avec la liste de la manière habituelle.
Autres conseils
Jetez un oeil à ce blog: Shell Extensions - Contexte Menu. Il a le code pour un simple « wrapper » à quelques crochets COM dans le menu contextuel shell Windows. Mettez-le dans le GAC et quand vous faites un clic droit, le menu sera inclus dans un sous-menu du menu contextuel droit cliquable.
En ce qui concerne strictement l'utilisation « Ouvrir avec ... » pour faire votre demande apparaissent uniquement pour les fichiers, il peut ouvrir, qui est un peu plus facile. Ceux-ci sont gérées par Windows à l'aide des clés de Registre à deux endroits dans le registre:
- HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .FileExtension \ OpenWithList (installation pour l'utilisateur courant)
- HKEY_CLASSES_ROOT \ .FileExtension \ OpenWithList (installation pour tous les utilisateurs)
Jetez un oeil à certains de ceux existants à l'aide regedit, puis utilisez la classe du Registre pour créer une nouvelle clé pour l'extension que vous voulez.