Heim > Backend-Entwicklung > C++ > Wie kann ich meiner C-Anwendung mithilfe von Registrierungseinträgen eine Dateierweiterung zuordnen?

Wie kann ich meiner C-Anwendung mithilfe von Registrierungseinträgen eine Dateierweiterung zuordnen?

DDD
Freigeben: 2024-11-27 13:52:11
Original
476 Leute haben es durchsucht

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

Verknüpfen von Dateierweiterungen mit Anwendungen in C: Eine detaillierte Anleitung

Um das Doppelklicken auf eine mit Ihrer C-Anwendung verknüpfte Datei und das Aufrufen zu ermöglichen Wenn Sie eine Anwendung mit dem als Parameter übergebenen Dateinamen erstellen, ist das Erstellen eines Registrierungseintrags von entscheidender Bedeutung.

Registrierungseintrag Erstellung

Wie im MSDN-Artikel beschrieben, sind zwei wichtige Schritte erforderlich:

  • Registrieren der ProgID:Die ProgID (Dateityp-Registrierungsschlüssel) enthält Dateitypeigenschaften, einschließlich Symbol, Beschreibung und Kontextmenüoptionen.
  • Registrieren der Datei Erweiterung: Dieser Schritt weist der ProgID eine Dateierweiterung zu und erstellt so eine Zuordnung zwischen der Erweiterung und dem Dateityp.

Eine Beispiel-.reg-Datei, die diese Schritte demonstriert, lautet wie folgt:

[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"
Nach dem Login kopieren

Programmatische Implementierung in C

Verwendung der SetValue-Funktion in C , können Sie die Registrierungsschlüssel programmgesteuert erstellen:

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");
Nach dem Login kopieren

Hive-Auswahl

Während in Beispielen oft empfohlen wird, diese Schlüssel in HKEY_CLASSES_ROOT festzulegen, wird empfohlen, HKEY_CURRENT_USER zu verwenden, um sie festzulegen -Benutzerverbände. Dadurch wird sichergestellt, dass von einem Benutzer vorgenommene Änderungen keine Auswirkungen auf andere Benutzer haben.

Bereinigung

Beim Entfernen der Anwendung bleiben die für die Dateizuordnung erstellten Registrierungseinträge erhalten, sofern sie nicht ausdrücklich entfernt werden . Erwägen Sie die Implementierung eines Registrierungsbereinigungsmechanismus, um diese Einträge während der Deinstallation zu entfernen.

Zusätzliche Ressourcen

Weitere Informationen finden Sie im Folgenden:

  • [Best Practices für Datei Association](https://docs.microsoft.com/en-us/windows/win32/fileassoc/best-practices-for-file-association)
  • [Dateitypen und Dateizuordnung](https:/ /docs.microsoft.com/en-us/windows/win32/fileassoc/file-types-and-file-association)
  • [Wie Dateizuordnungen Arbeit](https://docs.microsoft.com/en-us/windows/win32/fileassoc/how-file-associations-work)

Das obige ist der detaillierte Inhalt vonWie kann ich meiner C-Anwendung mithilfe von Registrierungseinträgen eine Dateierweiterung zuordnen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage