Programmgesteuerte Bezeichner

Die Shell verwendet einen ProgID-Registrierungsunterschlüssel (Programmatic Identifier), um einer Anwendung einen Dateityp zuzuordnen und das Verhalten der Zuordnung zu steuern. Die für Dateizuordnungen verwendeten ProgID-Einträge befinden sich unter HKEY_CLASSES_ROOT in der Registrierung.

Dieses Thema ist wie folgt organisiert:

Weitere Informationen finden Sie unter Registrieren eines Dateityps für eine neue Anwendung.

Programmgesteuerte Bezeichnerelemente, die von Dateizuordnungen verwendet werden

Das richtige Format eines ProgID-Schlüsselnamens ist [Anbieter oder Anwendung]. [Komponente]. [Version], getrennt durch Punkte und ohne Leerzeichen, wie in Word. Document.6. Der Teil Version ist optional, wird jedoch dringend empfohlen. Weitere Informationen finden Sie unter Verwenden von programmgesteuerten Bezeichnern mit versionierter Version.

Ein ProgID-Unterschlüssel sollte die folgenden Elemente enthalten. Beachten Sie, dass einige Zeichenfolgendaten in diesem Schlüssel eine bestimmte Formatierung erfordern.

Element BESCHREIBUNG
(Standard) Legen Sie den Standardeintrag des ProgID-Unterschlüssels auf einen Anzeigenamen für diese ProgID fest, der für den Benutzer angezeigt werden kann. Die Verwendung dieses Eintrags zum Halten des Anzeigenamens ist durch den Eintrag FriendlyTypeName auf Systemen, auf denen Windows 2000 oder höher ausgeführt wird, veraltet. Sie sollten diesen Wert jedoch aus Gründen der Abwärtskompatibilität festlegen.
AllowSilentDefaultTakeOver (in Windows 8 eingeführt) Legen Sie diesen optionalen Eintrag fest, um zu signalisieren, dass Windows diese ProgID beim Ermitteln eines Standardhandlers für einen öffentlichen Dateityp ignorieren soll. Unabhängig davon, ob dieser Wert festgelegt ist, wird die ProgID weiterhin im Kontextmenü und Dialogfeld OpenWith angezeigt. Dies ist ein REG_NONE Wert.
AppUserModelID (in Windows 7 eingeführt) Legen Sie diesen optionalen Eintrag auf die explizite Anwendungsbenutzermodell-ID (AppUserModelID) der Anwendung fest, wenn die Anwendung eine explizite AppUserModelID verwendet und entweder die vom System automatisch generierten Zuletzt oderHäufigen Sprunglisten verwendet oder eine benutzerdefinierte Sprungliste bereitstellt. Wenn eine Anwendung eine explizite AppUserModelID verwendet und diesen Wert nicht festgelegt, werden Elemente nicht in den Sprunglisten dieser Anwendung angezeigt. Dies ist eine REG_SZ Zeichenfolge. Weitere Informationen finden Sie unter Anwendungsbenutzermodell-IDs (AppUserModelIDs).
EditFlags Legen Sie diesen optionalen Eintrag mithilfe von Flags aus der FILETYPEATTRIBUTEFLAGS-Enumeration fest. Der EditFlags-Eintrag steuert einige Aspekte der Shell-Verarbeitung der Dateitypen, die mit dieser ProgID verknüpft sind. Sie können auch den EditFlags-Eintrag verwenden, um zu begrenzen, wie stark der Benutzer bestimmte Aspekte dieser Dateitypen mithilfe des Eigenschaftenblatts einer Datei ändern kann. Die für EditFlags verwendeten FILETYPEATTRIBUTEFLAGS-Werte sind Binärwerte, die so konzipiert sind, dass Sie mehrere Attribute in einem bitweisen OR-Vorgang zu einem einzelnen Wert kombinieren können. Dies ist ein REG_DWORD oder REG_BINARY Wert.
FriendlyTypeName Legen Sie diesen Eintrag auf einen Anzeigenamen für die ProgID fest, der für den Benutzer angezeigt werden kann. Aus Gründen der Konsistenz sollte diese Zeichenfolge dieselben Daten wie der Standardeintrag für diesen ProgID-Schlüssel enthalten. Bei diesem Eintrag kann es sich entweder um eine REG_SZ- oder REG_EXPAND_SZ-Zeichenfolge handeln, er muss jedoch als indirekte Zeichenfolge (ein vollqualifizierter Dateiname und Ressourcenwert vor dem @-Symbol) für instance @%SystemRoot%\shell32.dll,-154 formatiert werden.
Infotipp Legen Sie diesen Eintrag auf eine kurze Hilfenachricht fest, die von der Shell für diese ProgID angezeigt wird. Der InfoInfo-Eintrag wird in einem Mauszeigedialogfeld angezeigt. Dieser Wert kann entweder eine REG_SZ oder REG_EXPAND_SZ Zeichenfolge sein, muss aber wie FriendlyTypeName als indirekte Zeichenfolge formatiert werden.
CurVer Legen Sie den Eintrag (Standard) dieses Unterschlüssels auf die aktuelle Version dieser ProgID fest.
Hinweis: Es sei denn, Sie verfügen über parallele Anwendungsversionen, d. h. mehrere Versionen, die auf demselben System installiert sind, sollten Sie curVer vermeiden.
DefaultIcon. Legen Sie den Eintrag (Standard) dieses Unterschlüssels auf das Standardsymbol fest, das für Dateitypen angezeigt werden soll, die dieser ProgID zugeordnet sind. Bei diesem Wert kann es sich entweder um eine REG_SZ- oder REG_EXPAND_SZ-Zeichenfolge handeln, er muss jedoch als vollqualifizierter Dateiname mit dem Wert der zugehörigen Ressource für instance %SystemRoot%\shell32.dll,-154 angegeben werden.

 

Das folgende Registrierungsschlüsselbeispiel veranschaulicht einen ProgID-Schlüsselknoten einer Dateizuordnung:

HKEY_CLASSES_ROOT
   Vendor.App.1
      (Default) = My Friendly Name
      AllowSilentDefaultTakeOver
      AppUserModelID = Vendor.Application
      EditFlags = 0x00000001
      FriendlyTypeName = @%SystemRoot%\shell32.dll,-154
      InfoTip = @%SystemRoot%\shell32.dll,-54
      CurVer
         (Default) = Vendor.App.1
      DefaultIcon
         (Default) = %SystemRoot%\shell32.dll,-1

Verwenden von versionierten programmgesteuerten Bezeichnern

Eine versionierte ProgID ist eine Version, deren Version im Namen angegeben ist. Dazu fügen Sie dem Namen in der Regel einen Punkt und die Versionsnummer hinzu. Beispiel:

  • Word. Document.6
  • Word. Document.8

Hierbei handelt es sich um ProgIDs mit Version 6 bzw. 8. Wenn Sie über eine parallele Anwendung verfügen, d. h. eine Anwendung, die mehrere Versionen Ihrer Anwendung unterstützt, die gleichzeitig installiert sind, verwenden Sie CurVer und versionsunabhängige ProgIDs. Andernfalls sollten CurVer- und versionsunabhängige ProgIDs vermieden werden, da sie zu Ineffizienz führen.

Registrieren eines Dateityps für eine neue Anwendung

Anwendungsregistrierung

Dateitypen

Funktionsweise von Dateizuordnungen

Inhaltsansicht nach Dateityp oder Typ

Dateitypüberprüfung

Dateityphandler

Wahrgenommene Typen

Zuordnungsarrays