Freigeben über


Dateitypen

In diesem Thema wird erläutert, wie Sie neue Dateitypen erstellen und ihre App ihrem Dateityp und anderen gut definierten Dateitypen zuordnen. Dateien mit einer gemeinsamen Dateinamenerweiterung (.doc, .htmlusw.) weisen den gleichen Typauf. Wenn Sie beispielsweise einen neuen Text-Editor erstellen, können Sie den vorhandenen .txt Dateityp verwenden. In anderen Fällen müssen Sie möglicherweise einen neuen Dateityp erstellen.

Dieses Thema ist wie folgt organisiert:

Weitere Informationen finden Sie in den folgenden Themen:

Öffentliche und private Dateitypen

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

  • Sie werden in der Regel von Normengremien definiert und/oder durch ihre definierenden Organisationen als Austauschformate gefördert.
  • Sie werden häufig zwischen Computern und Benutzern zu unterschiedlichen Zwecken ausgetauscht.
  • Sie müssen auf vielen verschiedenen Plattformen unterstützt werden.
  • Anwendungen von mehreren Anbietern werden wahrscheinlich behandelt.

Einige Beispiele für Dateitypen, die als öffentlich angesehen werden, sind die Bilddateitypen .png, .gif, .jpgund .bmpsowie die Audiotypen .wav, .mp3und AU.

Im Gegensatz zu öffentlichen Dateitypen verfügen private oder proprietäre Dateitypen in der Regel über 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 gestartet werden, werden jedoch später zu öffentlichen Dateitypen.

Anmerkung

Windows unterscheidet nicht zwischen öffentlichen und privaten Dateitypen. Die Unterscheidung ist nur bei entscheidungen über die Auswahl der Dateitypregistrierung relevant.

 

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 Programmatic Identifiers.

Dateinamenerweiterungsunterschlüssel weisen die folgende allgemeine Form auf: Erweiterung=ProgID-. Dateinamenerweiterungsunterschlüssel werden in der HKEY_CLASSES_ROOT Unterstruktur gespeichert.

Es ist wichtig, den führenden Punkt (.) beim Erstellen von Dateitypunterschlüsseln in die Registrierung einzubeziehen. Wenn Sie z. B. einen Dateityp mit der kurzen Erweiterung MYP und der langen Erweiterung MYP-Datei 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 auch einen Unterschlüssel für die lange Erweiterung (MYP) erstellen, wenn Sie auch eine kurze Dateinamenerweiterung (MYP-Datei) registrieren. Weitere Informationen finden Sie unter Dateityphandler.

Festlegen optionaler Unterschlüssel und Dateityperweiterungsattribute

Dateityperweiterungseinträge in der Registrierung verfügen über mehrere optionale Unterschlüssel und Attribute.

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

Registrierungseintrag Aktion
Vorgabe Legen Sie den Standardwert des Erweiterungsunterschlüssels auf die ProgID fest, mit der sie verknüpft ist.
Inhaltstyp Legen Sie den Inhaltstypwert auf den MIME-Inhaltstyp des Dateityps fest.
OpenWithList Nicht verwenden. Dieser Unterschlüssel enthält einen oder mehrere Anwendungsunterschlüssel für Anwendungen, die im Öffnen mit Dialogfeldeintrag 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 mit alternativen ProgIDs für diesen Dateityp. Die Programme für diese ProgIDs werden im menü "Mit öffnen" angezeigt und sind als Standard-Windows Store-Apps für den Dateityp verfügbar. Wenn eine Anwendung diesen Dateityp durch Ändern des Standardwerts übernimmt, sollte sie auch einen Eintrag zu dieser Liste hinzufügen.
PerceivedType Legen Sie den Wert "PerceivedType" auf den "PerceivedType" fest, zu dem die Datei gehört, falls 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 sind vom 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\\Klassen und HKEY_LOCAL_MACHINE\\Klassen

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

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

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

  • 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
    

    Unterschlüssel des Verbunterschlüssels umfassen die Befehlszeile und die Drop-Zielmethode: Befehl und DropTarget-.

  • 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 SHChangeNotifynicht aufrufen, wird die Änderung möglicherweise erst erkannt, nachdem das System neu gestartet wurde.

  • Um Registrierungsinformationen zu einer Dateizuordnung abzurufen, verwenden Sie die IQueryAssociations Schnittstelle. Ein Szenario, das dieses Verfahren veranschaulicht, finden Sie unter File Association Sample Scenario.

Anmerkung

Sowohl die App-Pfade als auch Anwendungen Registrierungsunterschlüssel 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 (durch Festlegen des Standardwerts der HKEY_CLASSES_ROOT\ERWEITERUNG des Dateityps Unterschlüssels auf die ProgID der Anwendung), sollten diesen Wert beim Deinstallieren nicht entfernen. Wenn die Daten für den Standardwert beibehalten werden, wird die Schwierigkeit vermieden, festzustellen, ob eine andere Anwendung den Besitz des Dateityps übernommen und den Standardwert überschrieben hat, nachdem die ursprüngliche Anwendung installiert wurde. Windows respektiert den Standardwert nur, wenn die ProgID gefunden wurde, dass eine registrierte ProgID vorhanden ist. Wenn die Registrierung der ProgID aufgehoben ist, wird sie ignoriert.

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

Das folgende Beispiel zeigt den Status der Registrierung, bevor eine Anwendung deinstalliert wird:

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

Im Folgenden wird der Status dieser Registrierungseinträge angezeigt, nachdem die Anwendung deinstalliert wurde.

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 (Eigenschaftenhandler) .mp4, .m4a, .m4v, MP4v, .m4p, M4b, .3gp, 3gpp, 3gp2, .mov

 

Anwendungsregistrierung

Funktionsweise von Dateizuordnungen

Inhaltsansicht nach Dateityp oder Art

Dateitypüberprüfung

Dateityphandler

Programmatic Identifiers

wahrgenommenen Typen

Zuordnungsarrays