Dateitypen

In diesem Thema wird erläutert, wie Sie neue Dateitypen erstellen und Ihre App Ihrem Dateityp und anderen klar definierten Dateitypen zuordnen. Dateien mit einer gemeinsamen Dateinamenerweiterung (.doc, .html usw.) sind vom gleichen Typ. Wenn Sie beispielsweise einen neuen Text-Editor erstellen, können Sie den vorhandenen Dateityp .txt verwenden. In anderen Fällen müssen Sie möglicherweise einen neuen Dateityp erstellen.

Dieses Thema ist wie folgt organisiert:

Weitere Informationen finden Sie zu den folgenden Themen:

Öffentliche und private Dateitypen

Öffentliche Dateitypen werden auch als beliebte oder umstrittene Typen bezeichnet, da konkurrierende Anwendungen diesen Dateitypen möglicherweise zugeordnet werden möchten. Zu den Merkmalen öffentlicher Dateitypen gehören:

  • Sie werden in der Regel durch Normungsgremien definiert und/oder durch ihre Definition von Organisationen als Austauschformate gefördert.
  • Sie werden häufig zwischen Computern und Benutzern für verschiedene Zwecke ausgetauscht.
  • Sie müssen auf vielen verschiedenen Plattformen unterstützt werden.
  • Anwendungen von mehreren Anbietern verarbeiten diese wahrscheinlich.

Beispiele für Dateitypen, die als öffentlich gelten, sind die Bilddateitypen .png, .gif, .jpg und .bmp sowie die Audiotypen WAV, .mp3 und AU.

Im Gegensatz zu öffentlichen Dateitypen haben private oder proprietäre Dateitypen in der Regel ein Format, das nur von einer Anwendung oder einem Anbieter implementiert und verstanden wird. Daher sind private Dateitypen in der Regel nicht anfällig für Konflikte zwischen Anwendungen. Einige Dateitypen können als private Dateitypen beginnen, aber später zu öffentlichen Dateitypen werden.

Hinweis

Windows unterscheidet nicht zwischen öffentlichen und privaten Dateitypen. Die Unterscheidung ist nur relevant, wenn Sie Entscheidungen über die Auswahl der Dateitypregistrierung treffen.

 

Registrieren eines Dateityps

Um den Dateityp einer vorhandenen Anwendung zuzuordnen, suchen Sie die ProgID der Anwendung in der Registrierung. Um den Dateityp einer neuen Anwendung zuzuordnen, definieren Sie eine ProgID für Ihre Anwendung. Informationen zum Definieren einer neuen ProgID finden Sie unter Programmgesteuerte Bezeichner.

Dateinamenerweiterungsunterschlüssel haben die folgende allgemeine Form: Erweiterung=ProgID. Unterschlüssel der Dateinamenerweiterung werden in der HKEY_CLASSES_ROOT Unterstruktur gespeichert.

Beim Erstellen von Dateitypunterschlüsseln in der Registrierung ist es wichtig, den vorangestellten Zeitraum (.) einzuschließen. Wenn Sie beispielsweise einen Dateityp mit der kurzen Erweiterung .myp und der langen Erweiterung .myp-file mit einer Anwendung namens MyProgram öffnen möchten, verwenden Sie die folgende Syntax:

HKEY_CLASSES_ROOT
   .myp
      (Default) = ApplicationVendor.MyProgram
   .myp-file
      (Default) = ApplicationVendor.MyProgram
   ApplicationVendor.MyProgram
      (Default) = MyProgram Application

Wie im vorherigen Beispiel gezeigt, sollten Sie, wenn Sie auch eine kurze Dateinamenerweiterung (.myp) registrieren, auch einen Unterschlüssel für die lange Erweiterung (.myp-file) erstellen. Weitere Informationen finden Sie unter Dateityphandler.

Festlegen optionaler Unterschlüssel und Dateityperweiterungsattribute

Dateierweiterungseinträge in der Registrierung weisen mehrere optionale Unterschlüssel und Attribute auf.

Die Dateityperweiterungseinträge, die von Dateizuordnungen verwendet werden, werden in der folgenden Tabelle beschrieben. Alle Werte sind vom typ REG_SZ .

Registrierungseintrag Aktion
Standard Legen Sie den Standardwert des Erweiterungsunterschlüssels auf die ProgID fest, mit der er verknüpft ist.
Inhaltstyp Legen Sie den Wert inhaltstyp auf den MIME-Inhaltstyp des Dateityps fest.
OpenWithList Darf nicht verwendet werden. Dieser Unterschlüssel enthält mindestens einen Anwendungsunterschlüssel für Anwendungen, die im Dialogfeldeintrag Öffnen mit für den Dateityp angezeigt werden und nur für .exe Anwendungen auf Betriebssystemen vor Windows XP vorgesehen sind. Verwenden Sie stattdessen OpenWithProgIds.
OpenWithProgIds Dieser Unterschlüssel enthält eine Liste alternativer ProgIDs für diesen Dateityp. Die Programme für diese ProgIDs werden im Menü Öffnen mit angezeigt und sind als Windows Store-Standard-Apps für den Dateityp verfügbar. Wenn eine Anwendung diesen Dateityp durch Ändern des Standardwerts übernimmt, sollte sie dieser Liste auch einen Eintrag hinzufügen.
PerceivedType Legen Sie den Wert PerceivedType auf den PerceivedType fest, zu dem die Datei gehört, sofern vorhanden. Diese Zeichenfolge wird von Windows-Versionen vor Windows Vista nicht verwendet. Weitere Informationen finden Sie unter Wahrgenommene Typen und Anwendungsregistrierung.

 

Die allgemeine Form eines Dateinamenerweiterungsunterschlüssels lautet wie folgt. Alle Eintragstypen haben den typ REG_SZ .

HKEY_CLASSES_ROOT
   .ext
      (Default) = ProgID.ext.1
      Content Type = MIME content type
      PerceivedType = PerceivedType
      OpenWithProgids
         ProgID2.ext.1
         ProgID3.ext.1
      ProgID.ext.1
         shellnew

Wichtige Überlegungen zu Dateitypen sind:

  • Die HKEY_CLASSES_ROOT Unterstruktur ist eine Ansicht, die durch zusammenführen HKEY_CURRENT_USER\Softwareklassen\ und HKEY_LOCAL_MACHINE\Softwareklassen\ gebildet wird.

  • Im Allgemeinen soll HKEY_CLASSES_ROOT aus gelesen, aber nicht in geschrieben werden. Weitere Informationen finden Sie im Artikel HKEY_CLASSES_ROOT .

  • Um einen Dateityp global auf einem bestimmten Computer zu registrieren, erstellen Sie einen Eintrag für den Dateityp im Unterschlüssel HKEY_LOCAL_MACHINE\Softwareklassen\.

  • Um eine Dateitypregistrierung nur für den aktuellen Benutzer sichtbar zu machen, erstellen Sie einen Eintrag für den Dateityp im Unterschlüssel HKEY_CURRENT_USER\Softwareklassen\.

  • Eine Anwendung kann eine eigene Implementierung eines Verbs bereitstellen, z. B. öffnen oder wiedergeben, wie im folgenden Registrierungsbeispiel gezeigt.

    HKEY_CLASSES_ROOT
       Applications
          ApplicationName.exe
             shell
                verb
    

    Zu den Unterschlüsseln des Verbs gehören die Befehlszeile und die Dropzielmethode Command undDropTarget.

  • Wenn Sie eine Dateizuordnung erstellen oder ändern, ist es wichtig, das System darüber zu informieren, dass Sie eine Änderung vorgenommen haben. Rufen Sie dazu SHChangeNotify auf, und geben Sie das SHCNE_ASSOCCHANGED-Ereignis an. Wenn Sie SHChangeNotify nicht aufrufen, wird die Änderung möglicherweise erst nach dem Neustart des Systems erkannt.

  • Verwenden Sie zum Abrufen von Registrierungsinformationen zu einer Dateizuordnung die IQueryAssociations-Schnittstelle . Ein Szenario, das dieses Verfahren veranschaulicht, finden Sie unter Beispielszenario für die Dateizuordnung.

Hinweis

Sowohl die Unterschlüssel App-Pfade als auch Anwendungsregistrierungen werden verwendet, um das Verhalten des Systems im Auftrag von Anwendungen zu registrieren und zu steuern. Ausführlichere Informationen zu dieser Funktionalität finden Sie unter Anwendungsregistrierung.

 

Löschen von Registrierungsinformationen während der Deinstallation

Beim Deinstallieren einer Anwendung sollten die ProgIDs und die meisten anderen Registrierungsinformationen, die dieser Anwendung zugeordnet sind, im Rahmen der Deinstallation gelöscht werden. Anwendungen, die den Besitz eines Dateityps übernommen haben (indem sie den Standardwert des Unterschlüssels HKEY_CLASSES_ROOT.extension\ des Dateityps auf die ProgID der Anwendung festlegen), sollten jedoch nicht versuchen, diesen Wert bei der Deinstallation zu entfernen. Wenn Sie die Daten für den Standardwert beibehalten, wird die Schwierigkeit vermieden, festzustellen, ob eine andere Anwendung den Besitzer des Dateityps übernommen und den Standardwert nach der Installation der ursprünglichen Anwendung überschrieben hat. Windows respektiert den Standardwert nur, wenn die ProgID festgestellt hat, dass eine registrierte ProgID vorhanden ist. Wenn die Registrierung der ProgID aufgehoben wird, wird sie ignoriert.

Beachten Sie, dass andere Dateityp-Besitzinformationen in der HKEY_CURRENT_USER Unterstruktur gespeichert und auch nur verwendet werden, wenn die Anwendung, auf die sie verweist, registriert wird. Daher müssen diese Daten beim Deinstallieren einer Anwendung nicht entfernt werden.

Im Folgenden wird beispielsweise der Status der Registrierung vor der Deinstallation einer Anwendung veranschaulicht:

HKEY_CLASSES_ROOT
   .mp3
      (Default) = YourProgID
   YourProgID
      shell
         open
            command
               (Default) = yourapp.exe %1

Im Folgenden wird der Status der gleichen Registrierungseinträge nach der Deinstallation der Anwendung veranschaulicht.

HKEY_CLASSES_ROOT
   .mp3
      (Default) = YourProgID
   YourProgID subkey removed

Dateitypen, die offene Metadaten unterstützen

In Windows 7 und höher unterstützen die folgenden Dateitypen offene Metadaten.

Dateityp Dateinamenerweiterungen
Office 2007-Dokumente .docx, .xlsx, .pptx
Office 97-2003-Dokumente .doc, .xls, .ppt
Gespeicherte Suche .search-ms
Windows Media-basierte Formate (Advanced Streaming Format (ASF)-Container) WMV, WMA
MP4 (Eigenschaftshandler) .mp4, .m4a, .m4v, .mp4v, .m4p, .m4b, .3gp, .3gpp, .3gp2, .mov

 

Anwendungsregistrierung

Funktionsweise von Dateizuordnungen

Inhaltsansicht nach Dateityp oder Typ

Dateitypüberprüfung

Dateityphandler

Programmgesteuerte Bezeichner

Wahrgenommene Typen

Zuordnungsarrays