Maison >développement back-end >C++ >Comment créer des entrées de registre pour l'association de fichiers en C ?
Création d'entrées de registre pour l'association de fichiers en C
Introduction
Intégration de votre application avec des Les types de fichiers nécessitent de les associer via des entrées de registre. Cela garantit qu'un double-clic sur un fichier pris en charge ouvre votre programme et transmet le nom de fichier comme argument.
Étape 1 : enregistrement du ProgID (type de fichier)
À la Le cœur de l'association de fichiers est le ProgID, qui identifie le type de fichier dans le registre. Utilisez la fonction SetValue pour créer le ProgID dans HKEY_CURRENT_USERSoftwareClasses.
Étape 2 : associer l'extension de fichier
Ensuite, associez l'extension du fichier cible au ProgID. Ceci est réalisé en créant une sous-clé avec le nom d'extension sous HKEY_CURRENT_USERSoftwareClasses et en définissant sa valeur sur ProgID.
Exemple de code en C
#include <windows.h> // Header for registry functions // Register the ProgID HKEY hkey; LONG result = RegCreateKeyEx(HKEY_CURRENT_USER, "Software\Classes\YourProgID", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hkey, NULL); // Set the value of the ProgID key RegSetValueEx(hkey, NULL, 0, REG_SZ, (const BYTE *)"Your Description", sizeof("Your Description") + 1); // Associate the file extension RegCreateKeyEx(HKEY_CURRENT_USER, "Software\Classes\.YourExtension", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hkey, NULL); // Set the value of the extension key RegSetValueEx(hkey, NULL, 0, REG_SZ, (const BYTE *)"YourProgID", sizeof("YourProgID") + 1);
Nettoyage Considérations
La désinstallation de l'application ne supprimera pas automatiquement les entrées de registre. Pour éviter les entrées orphelines, pensez à ajouter une routine de nettoyage lors de la désinstallation pour supprimer les clés associées.
Ressources supplémentaires :
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!