Maison >développement back-end >C++ >Comment puis-je associer par programme des extensions de fichiers à des exécutables en C# ?

Comment puis-je associer par programme des extensions de fichiers à des exécutables en C# ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-20 16:14:14476parcourir

How Can I Programmatically Associate File Extensions with Executables in C#?

Associer une extension de fichier à un fichier exécutable en C#

C# lui-même n'a pas d'API intégrée pour gérer les associations de fichiers. Cependant, vous pouvez exploiter l'API du registre pour accéder et modifier le registre Windows, car les informations d'association de fichiers sont stockées dans le registre.

Pour associer une extension de fichier spécifique à votre exécutable, vous devez créer une clé de registre sous HKEY_CLASSES_ROOT.

  1. Créez une sous-clé d'extension de fichier :

    • Créez une sous-clé sous HKEY_CLASSES_ROOT nommée avec l'extension de fichier (par exemple, .txt).
    • Définissez la valeur par défaut de cette sous-clé sur un nom unique pour votre type de fichier, tel que « Acme.TextFile ».
  2. Créer une sous-clé de type de fichier :

    • Créez une sous-clé sous HKEY_CLASSES_ROOT avec le nom utilisé à l'étape précédente (par exemple, "Acme.TextFile").
  3. Définir l'icône par défaut :

    • Ajoutez une sous-clé nommée « DefaultIcon » sous la sous-clé du type de fichier.
    • Définissez la valeur par défaut de "DefaultIcon" sur le chemin et l'index de l'icône à utiliser.
  4. Ajouter une action de menu contextuel :

    • Créez une sous-clé nommée "shell" sous la sous-clé du type de fichier.

    • Sous la sous-clé "shell", créez des sous-clés pour chaque action de menu contextuel que vous souhaitez ajouter.

    • Définit la valeur par défaut de chaque sous-élément d'action sur la chaîne suivante :

      • "executable_path" "%1"
      • Remplacez "executable_path" par le chemin d'accès au fichier exécutable et "%1" par l'espace réservé pour le chemin du fichier passé en argument.

Par exemple, pour associer un fichier .txt à EmEditor, vous devez créer la clé de registre suivante :

<code>[HKEY_CLASSES_ROOT\.txt]
@="emeditor.txt"

[HKEY_CLASSES_ROOT\emeditor.txt]
@="Text Document"

[HKEY_CLASSES_ROOT\emeditor.txt\DefaultIcon]
@="%SystemRoot%\SysWow64\imageres.dll,-102"

[HKEY_CLASSES_ROOT\emeditor.txt\shell]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\open]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\open\command]
@="\"C:\Program Files\EmEditor\EMEDITOR.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\emeditor.txt\shell\print]

[HKEY_CLASSES_ROOT\emeditor.txt\shell\print\command]
@="\"C:\Program Files\EmEditor\EMEDITOR.EXE\" /p \"%1\""</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn