Maison > développement back-end > C++ > Comment puis-je associer une extension de fichier à mon application C à l'aide d'entrées de registre ?

Comment puis-je associer une extension de fichier à mon application C à l'aide d'entrées de registre ?

DDD
Libérer: 2024-11-27 13:52:11
original
488 Les gens l'ont consulté

How can I associate a file extension with my C   application using registry entries?

Associer des extensions de fichiers à des applications en C : un guide détaillé

Pour activer le double-clic sur un fichier associé à votre application C et l'appel du application avec le nom de fichier passé en paramètre, la création d'une entrée de registre est cruciale.

Entrée de registre Création

Comme indiqué dans l'article MSDN, deux étapes clés sont impliquées :

  • Enregistrement du ProgID : Le ProgID (clé de registre du type de fichier) contient les propriétés du type de fichier, y compris les options d'icône, de description et de menu contextuel.
  • Enregistrement du fichier Extension :Cette étape attribue une extension de fichier au ProgID, créant une association entre l'extension et le type de fichier.

Un exemple de fichier .reg qui illustre ces étapes est le suivant :

[HKEY_CURRENT_USER\Software\Classes\blergcorp.blergapp.v1\shell\open\command]
@="c:\path\to\app.exe \""%1"\""
[HKEY_CURRENT_USER\Software\Classes\.blerg]
@="blergcorp.blergapp.v1"
Copier après la connexion

Implémentation programmatique en C

Utilisation de la fonction SetValue en C , vous pouvez créer les clés de registre par programme :

Registry::SetValue(@"HKEY_CURRENT_USER\Software\Classes\blergcorp.blergapp.v1\shell\open\command", null, @"c:\path\to\app.exe \"%1\"\""), 
Registry::SetValue(@"HKEY_CURRENT_USER\Software\Classes\.blerg", null, "blergcorp.blergapp.v1");
Copier après la connexion

Hive Selection

Bien que les exemples suggèrent souvent de définir ces clés dans HKEY_CLASSES_ROOT, il est recommandé d'utiliser HKEY_CURRENT_USER pour définir par- associations d'utilisateurs. Cela garantit que les modifications apportées par un utilisateur n'affectent pas les autres utilisateurs.

Nettoyage

Lors de la suppression de l'application, les entrées de registre créées pour l'association de fichiers resteront sauf si elles sont explicitement supprimées. . Envisagez de mettre en œuvre un mécanisme de nettoyage du registre pour supprimer ces entrées lors de la désinstallation.

Ressources supplémentaires

Pour plus de détails, reportez-vous à ce qui suit :

  • >[Meilleures pratiques pour les fichiers Association](https://docs.microsoft.com/en-us/windows/win32/fileassoc/best-practices-for-file-association)
  • [Types de fichiers et association de fichiers](https:/ /docs.microsoft.com/en-us/windows/win32/fileassoc/file-types-and-file-association)
  • [Comment les associations de fichiers Travail](https://docs.microsoft.com/en-us/windows/win32/fileassoc/how-file-associations-work)

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal