Heim > Backend-Entwicklung > C++ > Wie erstelle ich Registrierungseinträge für die Dateizuordnung in C?

Wie erstelle ich Registrierungseinträge für die Dateizuordnung in C?

Barbara Streisand
Freigeben: 2024-11-24 00:24:13
Original
804 Leute haben es durchsucht

How Do I Create Registry Entries for File Association 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);
Nach dem Login kopieren

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:

  • MSDN: Best Practices für die Dateizuordnung: https://docs.microsoft.com/en-us/windows/win32/shell/best-practices-for-file-associations
  • Dateitypen und Dateizuordnung: https://docs.microsoft.com /en-us/windows/win32/shell/file-types-and-file-associations

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage