Heim >Backend-Entwicklung >C++ >Wie erstelle ich Registrierungseinträge für die Dateizuordnung in C?
Erstellen von Registrierungseinträgen für die Dateizuordnung in C
Einführung
Integration Ihrer Anwendung mit spezifischen Dateitypen müssen über Registrierungseinträge verknüpft werden. Dadurch wird sichergestellt, dass ein Doppelklick auf eine unterstützte Datei Ihr Programm öffnet und den Dateinamen als Argument übergibt.
Schritt 1: Registrieren der ProgID (Dateityp)
Am Kernstück der Dateizuordnung ist die ProgID, die den Dateityp innerhalb der Registry identifiziert. Verwenden Sie die SetValue-Funktion, um die ProgID in HKEY_CURRENT_USERSoftwareClasses zu erstellen.
Schritt 2: Zuordnen der Dateierweiterung
Als nächstes verknüpfen Sie die Zieldateierweiterung mit der ProgID. Dies wird erreicht, indem unter HKEY_CURRENT_USERSoftwareClasses ein Unterschlüssel mit dem Erweiterungsnamen erstellt und dessen Wert auf die ProgID gesetzt wird.
Beispielcode in 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);
Bereinigung Überlegungen
Durch die Deinstallation der Anwendung werden die Registrierungseinträge nicht automatisch entfernt. Um verwaiste Einträge zu verhindern, sollten Sie während der Deinstallation eine Bereinigungsroutine hinzufügen, um die zugehörigen Schlüssel zu löschen.
Zusätzliche Ressourcen:
Das obige ist der detaillierte Inhalt vonWie erstelle ich Registrierungseinträge für die Dateizuordnung in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!