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
DDDoriginal
2024-11-27 13:52:11514parcourir

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"

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");

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!

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