Standardprogramme

Verwenden Sie Standardprogramme , um die Standardbenutzerfreundlichkeit festzulegen. Benutzer können über Systemsteuerung oder direkt über das Startmenü auf Standardprogramme zugreifen. Das Set Program Access and Computer Defaults (SPAD) -Tool ,die primäre Standardumgebung für Benutzer in Windows XP, ist jetzt ein Teil der Standardprogramme.

Wichtig

Dieses Thema gilt nicht für Windows 10. Die Funktionsweise von Standarddateizuordnungen hat sich in Windows 10 geändert. Weitere Informationen finden Sie im Abschnitt Änderungen an der Verarbeitung Windows 10 Standard-Apps in diesem Beitrag.

 

Wenn ein Benutzer die Programmstandardeinstellungen mithilfe von Standardprogrammen festlegt, gilt die Standardeinstellung nur für diesen Benutzer und nicht für andere Benutzer, die möglicherweise denselben Computer verwenden. Standardprogramme bieten eine Reihe von APIs (in Windows 8 veraltet), die es unabhängigen Softwareanbietern (ISVs) ermöglichen, ihre Programme oder Anwendungen in das Standardsystem aufzunehmen. Der API-Satz hilft ISVs außerdem, ihre status als Standardwerte besser zu verwalten.

Dieses Thema ist wie folgt organisiert:

Standardprogramme sind in erster Linie für Anwendungen konzipiert, die Standarddateitypen wie .mp3 oder .jpg Dateien oder Standardprotokolle wie HTTP oder mailto verwenden. Anwendungen, die ihre eigenen proprietären Protokolle und Dateizuordnungen verwenden, verwenden in der Regel nicht die Standardprogrammfunktionalität .

Nachdem Sie eine Anwendung für die Standardprogrammfunktionalität registriert haben , stehen die folgenden Optionen und Funktionen mit dem API-Satz zur Verfügung:

  • Stellen Sie alle registrierten Standardwerte für eine Anwendung wieder her. Für Windows 8 veraltet.
  • Stellen Sie einen einzelnen registrierten Standardwert für eine Anwendung wieder her. Für Windows 8 veraltet.
  • Fragen Sie den Besitzer eines bestimmten Standardwerts in einem einzelnen Aufruf ab, anstatt die Registrierung zu durchsuchen. Sie können den Standardwert einer Dateizuordnung, eines Protokolls oder eines kanonischen Startmenüverbs abfragen.
  • Starten Sie eine Benutzeroberfläche für eine bestimmte Anwendung, in der ein Benutzer einzelne Standardwerte festlegen kann.
  • Entfernen Sie alle Benutzerzuordnungen.

Standardprogramme bieten auch eine Benutzeroberfläche, mit der Sie eine Anwendung registrieren können, um dem Benutzer zusätzliche Informationen bereitzustellen. Beispielsweise kann eine digital signierte Anwendung eine URL zur Homepage des Herstellers enthalten.

Die Verwendung des zugehörigen API-Satzes kann eine Anwendungsfunktion unter der in Windows Vista eingeführten Funktion der Benutzerkontensteuerung (User Account Control, UAC) korrekt unterstützen. Unter UAC wird ein Administrator dem System als Standardbenutzer angezeigt, sodass der Administrator in der Regel nicht in die HKEY_LOCAL_MACHINE Unterstruktur schreiben kann. Diese Einschränkung ist ein Sicherheitsfeature, das verhindert, dass ein Prozess ohne Das Wissen des Administrators als Administrator fungiert.

Die Installation eines Programms durch einen Benutzer erfolgt in der Regel als Prozess mit erhöhten Rechten. Versuche einer Anwendung, das Standardzuordnungsverhalten auf Computerebene nach der Installation zu ändern, sind jedoch nicht erfolgreich. Stattdessen müssen Standardwerte auf benutzerspezifischer Ebene registriert werden, was verhindert, dass mehrere Benutzer die Standardwerte des anderen überschreiben.

Die hierarchische Registrierungsstruktur für Datei- und Protokollzuordnungen gibt den Standardeinstellungen pro Benutzer Vorrang vor den Standardeinstellungen auf Computerebene. Einige Anwendungen enthalten Punkte im Code, die ihre Rechte vorübergehend erhöhen, wenn sie die in HKEY_LOCAL_MACHINE registrierten Standardwerte beanspruchen. Bei diesen Anwendungen können unerwartete Ergebnisse auftreten, wenn bereits eine andere Anwendung als Standardeinstellung pro Benutzer registriert ist. Die Verwendung von Standardprogrammen verhindert diese Mehrdeutigkeit und garantiert die erwarteten Ergebnisse auf Benutzerebene.

Registrieren einer Anwendung für die Verwendung mit Standardprogrammen

In diesem Abschnitt werden die Registrierungsunterschlüssel und -werte veranschaulicht, die zum Registrieren einer Anwendung bei Standardprogrammen erforderlich sind. Es enthält ein vollständiges Beispiel.

Dieser Abschnitt enthält die folgenden Themen:

Standardprogramme erfordern, dass jede Anwendung die Dateizuordnungen, MIME-Zuordnungen und Protokolle explizit registriert, für die die Anwendung als mögliche Standardeinstellung aufgeführt werden soll. Sie registrieren die Zuordnungen mithilfe der folgenden Registrierungselemente, die weiter unten in diesem Thema unter Registrierungsunterschlüssel und Wertbeschreibungen ausführlich erläutert werden:

HKEY_LOCAL_MACHINE
   %ApplicationCapabilityPath%
      ApplicationDescription
      ApplicationName
      Hidden
      FileAssociations
         .file-extension1
         .file-extension2
         ...
         .file-extensionX
      MIMEAssociations
         MIME
      Startmenu
         StartmenuInternet
         Mail
      UrlAssociations
         url-scheme
   SOFTWARE
      RegisteredApplications
         Unique Application Name = %ApplicationCapabilityPath%

Das folgende Beispiel zeigt die Registrierungseinträge für einen fiktiven Contoso-Browser namens WebBrowser:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Contoso
         WebBrowser
            Capabilities
               ApplicationDescription = This award-winning Contoso browser is better than ever. Search the Internet and find exactly what you want in just seconds. Use integrated tabs and new phishing detectors to enhance your Internet experience.
               FileAssociations
                  .htm = ContosoHTML
                  .html = ContosoHTML
                  .shtml = ContosoHTML
                  .xht = ContosoHTML
                  .xhtml = ContosoHTML
               Startmenu
                  StartmenuInternet = Contoso.exe
               UrlAssociations
                  http = Contoso.Url.Http
                  https = Contoso.Url.Https
                  ftp = Contoso.Url.ftp
   SOFTWARE
      RegisteredApplications
         Contoso.WebBrowser.1.06 = SOFTWARE\Contoso\WebBrowser\Capabilities

ProgIDs

Eine Anwendung muss eine bestimmte ProgID bereitstellen. Stellen Sie sicher, dass Sie alle Informationen einschließen, die normalerweise in den generischen Standardunterschlüssel für die Erweiterung geschrieben werden. Der fiktive Litware-Mediaplayer stellt beispielsweise die anwendungsspezifische HKEY_LOCAL_MACHINE\SOFTWARE-Klassen\\LitwarePlayer11.AssocFile.MP3 Unterschlüssel bereit. Dieser Unterschlüssel enthält alle Informationen im generischen Standardunterschlüssel HKEY_LOCAL_MACHINE\SOFTWAREklassen\\.mp3 sowie alle zusätzlichen Informationen, die die Anwendung registrieren soll. Dadurch wird sichergestellt, dass die Informationen des Litware-Players intakt sind und nicht von einer anderen Anwendung überschrieben wurden, wenn der Benutzer die .mp3 Zuordnung zum Litware-Player wiederhergestellt hat. (Überschreiben kann auftreten, wenn der Standardunterschlüssel die einzige Quelle dieser Informationen ist.)

Wenn Sie eine ProgID einer Dateinamenerweiterung oder einem Protokoll zuordnen, kann eine Anwendung 1:1 oder 1:n zuordnen. Im Contoso-Beispiel verweist ContosoHTML auf eine einzelne ProgID, die shellexecute-Informationen für die Erweiterungen .htm, .html, .shtml, .xht und .xhtml bereitstellt. Da für jedes Protokoll eine andere ProgID vorhanden ist, aktivieren Sie bei Verwendung von Protokollen für jedes Protokoll eine eigene Ausführungszeichenfolge.

Wenn Ihr MIME-Typ in einem Browser inline angezeigt werden kann, muss die ProgID für den MIME-Typ den CLSID-Unterschlüssel enthalten, der den Klassenbezeichner (CLSID) der entsprechenden Anwendung verwendet. Diese CLSID wird bei einer Suche für die CLSID in der MIME-Datenbank verwendet, die in HKEY_LOCAL_MACHINE\SOFTWAREklassen\\MIME-Datenbankinhaltstyp\\ gespeichert ist. Wenn Ihr MIME-Typ nicht für die Inline-Anzeige in einem Browser vorgesehen ist, kann dieser Schritt weggelassen werden.

Registrierungsunterschlüssel- und Wertbeschreibungen

In diesem Abschnitt werden die einzelnen Registrierungsunterschlüssel und -werte beschrieben, die beim Registrieren einer Anwendung bei Standardprogrammen verwendet werden, wie zuvor veranschaulicht.

Funktionen

Der Unterschlüssel Funktionen enthält alle Standardprogrammeinformationen für eine bestimmte Anwendung. Der Platzhalter %ApplicationCapabilityPath% bezieht sich auf den Registrierungspfad von HKEY_CURRENT_USER oder HKEY_LOCAL_MACHINE zum Unterschlüssel Capabilities der Anwendung. Dieser Unterschlüssel enthält die in der folgenden Tabelle dargestellten signifikanten Werte.

Wert type Bedeutung
ApplicationDescription REG_SZ oder REG_EXPAND_SZ Erforderlich. Damit ein Benutzer eine fundierte Standardzuweisungsauswahl treffen kann, muss eine Anwendung eine Zeichenfolge bereitstellen, die die Funktionen der Anwendung beschreibt. Obwohl im vorherigen Contoso-Beispiel die Beschreibung direkt dem ApplicationDescription-Wert zugewiesen wird, geben Anwendungen die Beschreibung in der Regel als Ressource an, die in eine .dll-Datei eingebettet ist, um die Lokalisierung zu erleichtern. Wenn ApplicationDescription nicht bereitgestellt wird, wird die Anwendung nicht in den Benutzeroberflächenlisten potenzieller Standardprogramme angezeigt.
ApplicationName REG_SZ oder REG_EXPAND_SZ Optional. Der Name, mit dem das Programm auf der Benutzeroberfläche "Standardprogramme" angezeigt wird. Wenn diese Daten nicht von der Anwendung bereitgestellt werden, wird der Name des ausführbaren Programms, das der ersten registrierten ProgID für die Anwendung zugeordnet ist, auf der Benutzeroberfläche verwendet. ApplicationName muss immer mit dem Namen übereinstimmen, der unter RegisteredApplications registriert ist. Sie können ApplicationName verwenden, wenn verschiedene Anwendungstypen, z. B. ein Browser und ein E-Mail-Client, auf dieselbe ausführbare Datei verweisen möchten, während sie als unterschiedliche Namen angezeigt werden.
Ausgeblendet REG_DWORD Optional. Legen Sie diesen Wert auf 1 fest, um die Anwendung aus der Programmliste im Dialogfeld Standardprogramme festlegen zu unterdrücken. Wenn dieser Wert 0 ist oder nicht vorhanden ist, wird die Anwendung normal in der Liste angezeigt.

 

Dateizuordnungen

Der Unterschlüssel FileAssociations enthält bestimmte Dateizuordnungen, die von der Anwendung beansprucht werden. Diese Ansprüche werden als Werte mit einem Wert für jede Erweiterung gespeichert. Zuordnungen verweisen auf eine anwendungsspezifische ProgID anstelle einer generischen ProgID. Alle Zuordnungen müssen jedoch nicht auf dieselbe ProgID verweisen.

MIMEAssociations

Der Unterschlüssel MIMEAssociations enthält bestimmte MIME-Typen, die von der Anwendung beansprucht werden. Diese Ansprüche werden als Werte mit einem Wert für jeden MIME-Typ gespeichert. Der Wertname für jeden MIME-Typ muss genau mit dem MIME-Namen übereinstimmen, der in der MIME-Datenbank gespeichert ist. Dem Wert muss auch eine anwendungsspezifische ProgID zugewiesen werden, die die entsprechende CLSID der Anwendung enthält.

Startmenü

Der Unterschlüssel Startmenü ist den benutzerseitig zuzuweisenden Internet - und E-Mail-Einträgen im Startmenü zugeordnet. Eine Anmeldung muss sich separat als Bewerber für diese Einträge registrieren. Weitere Informationen finden Sie unter Registrieren von Programmen mit Clienttypen.

Hinweis

Ab Windows 7 gibt es im Startmenü keine Internet- und E-Mail-Einträge mehr. Die dem E-Mail-Eintrag zugeordneten Registrierungsdaten werden weiterhin für den MAPI-Standardclient verwendet, aber die Registrierungsdaten, die dem Interneteintrag zugeordnet sind, werden von Windows überhaupt nicht verwendet.

 

Durch Zuordnen der Registrierung im Startmenü einer Anwendung mit ihrer Standardprogrammregistrierung wird die Anwendung auf der Benutzeroberfläche "Zuordnungen festlegen " als potenzieller Standardwert angezeigt. Wenn der Benutzer die Anwendung als Standardeinstellung ausgewählt hat und dann alle Anwendungsstandardeinstellungen später wiederherstellen möchte, wird die Anwendung auf die Startmenüposition für diesen Benutzer wiederhergestellt. Weitere Informationen und eine Abbildung finden Sie weiter unten in diesem Thema im Abschnitt Standardprogramme .

Der Unterschlüssel Startmenü verfügt über zwei Einträge: StartMenuInternet und Mail, die den kanonischen Internet- und E-Mail-Positionen im Startmenü entsprechen. Eine Anwendung weist entweder StartMenuInternet oder Mail einen Wert zu, der dem Namen des registrierten Unterschlüssels der Anwendung unter HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet oder HKEY_LOCAL_MACHINE\SOFTWARE-Clients-Mail\\ entspricht (wie unter Registrieren von Programmen mit Clienttypen beschrieben).

Im Fall der kanonischen E-Mail-Position im Startmenü stellt sie den MAPI-Standardclient dar und wird daher angenommen, dass sie MAPI-Aufrufe übergeben kann. Unter Windows 7 gibt es zwar keine kanonische E-Mail-Position mehr im Startmenü , aber dieser Unterschlüssel wird weiterhin für den MAPI-Standardclient verwendet. Eine Anwendung, die den E-Mail-Standard anfordert, sollte sich unter dem folgenden Unterschlüssel als MAPI-Handler registrieren:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            CanonicalName

Wenn ein E-Mail-Client MAPI nicht unterstützen kann, aber dennoch um die kanonische Position des Startmenüs E-Mail kämpfen möchte, kann er eine Befehlszeile unter dem folgenden Unterschlüssel registrieren:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         Mail
            CanonicalName
               shell
                  open
                     command

Fügen Sie außerdem unter HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\CanonicalName einen Standardwert mit dem Anwendungsnamen hinzu.

Mit diesen Einträgen kann die Anwendung über die E-Mail-Position des Startmenüs gestartet werden. Beachten Sie, dass MAPI-Aufrufe weiterhin an die Anwendung erfolgen und entweder auf den vorherigen MAPI-Handler übergehen oder fehlschlagen, wenn kein MAPI-Handler festgelegt wurde. Weitere Informationen finden Sie unter Registrieren von Programmen mit Clienttypen.

UrlAssociations

Der Unterschlüssel UrlAssociations enthält die spezifischen URL-Protokolle, die von der Anwendung beansprucht werden. Diese Ansprüche werden als Werte mit einem Wert für jedes Protokoll gespeichert. Jedes Protokoll muss auf eine anwendungsspezifische ProgID und nicht auf eine generische ProgID verweisen. Wie im Contoso-Beispiel erwähnt, können Sie eine andere ProgID für jedes Protokoll verwenden, damit jedes Protokoll über eine eigene Ausführungszeichenfolge verfügt.

Registrierte Apps

Der vollständige Unterschlüssel für Registrierte Apps lautet:

HKEY_LOCAL_MACHINE\SOFTWARE\Registrierte Apps

Dieser Unterschlüssel stellt dem Betriebssystem den Registrierungsspeicherort der Standardprogrammeinformationen für die Anwendung bereit. Der Speicherort wird als Wert gespeichert, dessen Name mit dem Namen der Anwendung übereinstimmen muss.

Beispiel für die vollständige Registrierung

Dieses Beispiel zeigt die Unterschlüssel und Werte, die bei der Registrierung des fiktiven Litware-Mediaplayers verwendet werden. Das Beispiel enthält die ProgID-Einträge, um zu zeigen, wie alles zusammenpasst.

Der folgende Unterschlüssel zeigt die anwendungsspezifische ProgID für den .mp3 MIME-Typ:

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         LitwarePlayer11.MIME.MP3
            CLSID
               (Default) = {CD3AFA76-B84F-48F0-9393-7EDC34128127}

Als Nächstes wird die anwendungsspezifische ProgID angezeigt, die das Litware-Programm mit der Dateinamenerweiterung .mp3 verknüpft.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         LitwarePlayer11.AssocFile.MP3
            (Default) = MP3 Format Sound
            DefaultIcon
               (Default) = %ProgramFiles%\Litware\litware.dll, 0
            shell
               open
                  command
                     (Default) = %ProgramFiles%\Litware\litware.exe

Die nächsten Einträge zeigen die kombinierte ProgID für den .mpeg MIME-Typ und die Dateinamenerweiterung an.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         LitwarePlayer11.AssocFile.MPG
            (Default) = Movie Clip
            CLSID
               (Default) = {D92B76F4-CFA0-4b93-866B-7730FEB4CD7B}
            DefaultIcon
               (Default) = %ProgramFiles%\Litware\litware.dll, 0
            shell
               open
                  command
                     (Default) = %ProgramFiles%\Litware\litware.exe

Die nächsten Einträge registrieren das Litware-Programm unter Standardprogramme und verwenden die zuvor registrierten ProgIDs.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Litware
         LitwarePlayer
            Capabilities
               ApplicationDescription = The new Litware Media Player breaks new ground in exciting fictional programs.
               FileAssociations
                  .mp3 = LitwarePlayer11.AssocFile.MP3
                  .mpeg = LitwarePlayer11.AssocFile.MPG
               MimeAssociations
                  audio/mp3 = LitwarePlayer11.MIME.MP3
                  audio/mpeg = LitwarePlayer11.AssocFile.MPG

Schließlich wird in diesem Beispiel der Speicherort der Litware-Standardprogrammregistrierung registriert.

HKEY_LOCAL_MACHINE
   SOFTWARE
      RegisteredApplications
         Litware Player = Software\Litware\LitwarePlayer\Capabilities

Standardbrowser werden

Die Browserregistrierung muss den in diesem Thema beschriebenen bewährten Methoden folgen. Wenn der Browser installiert ist, kann Windows dem Benutzer eine Systembenachrichtigung anzeigen, über die der Benutzer den Browser als Systemstandard auswählen kann. Diese Benachrichtigung wird angezeigt, wenn diese Bedingungen erfüllt sind:

  • Das Installationsprogramm des Browsers ruft SHChangeNotify mit dem SHCNE_ASSOCCHANGED-Flag auf, um Windows mitzuteilen, dass neue Protokollhandler registriert wurden.
  • Windows erkennt, dass mindestens eine neue Anwendung registriert wurde, um sowohl http:// als auch https:// Protokolle zu verarbeiten, und der Benutzer wurde noch nicht benachrichtigt. Mit anderen Worten, keine der folgenden Elemente wurde dem Benutzer angezeigt: eine Systembenachrichtigung, die die Anwendung angibt, ein OpenWith-Flyout, das die Anwendung enthält, oder die Seite Set User Defaults (SUD) Systemsteuerung für die Anwendung.

Das folgende Beispiel zeigt den empfohlenen Registrierungscode, den das Installationsprogramm des Browsers ausführen sollte, nachdem es seine Registrierungsschlüssel geschrieben hat.

SHChangeNotify benachrichtigt zuerst das System, dass neue Zuordnungsoptionen verfügbar sind. Der SHChangeNotify-Aufruf ist erforderlich, um das ordnungsgemäße Funktionieren der Systemstandardeinstellungen sicherzustellen.

Eine Sleep-Anweisung ermöglicht dann Systemprozessen zeit, die Benachrichtigung zu verarbeiten.

void NotifySystemOfNewRegistration()
{
    SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_DWORD | SHCNF_FLUSH, nullptr, nullptr);
    Sleep(1000);
}

Wenn der Benutzer die resultierende Benachrichtigung oder das Flyout verwirf oder ignoriert, ohne eine neue Standardbrowserauswahl vorzunehmen, bleibt der Standardbrowser unverändert. Beachten Sie, dass der Benutzer den Standardbrowser auch jederzeit über andere Mechanismen ändern kann, z. B. Festlegen von Benutzerstandarden im Systemsteuerung.

Benutzeroberfläche für Standardprogramme

Die Abbildungen in diesem Abschnitt zeigen die Benutzeroberfläche für Standardprogramme , wie sie vom Benutzer gesehen wird.

Die folgende Abbildung zeigt das Fenster Standard Standardprogramme in Systemsteuerung.

Screenshot der Eintragsseite für Standardprogramme

Wenn ein Benutzer die Option Standardprogramme festlegen auswäht, wird das folgende Fenster angezeigt. Benutzer können diese Seite verwenden, um ein Standardprogramm für alle Dateitypen und Protokolle zuzuweisen, für die das Programm ein möglicher Standard ist. Wie in der folgenden Abbildung dargestellt, werden alle registrierten Programme und das Programmsymbol im Feld Programme auf der linken Seite angezeigt.

Screenshot der Seite

Wenn der Benutzer ein Programm aus der Liste auswählt, werden das Programmsymbol und der Anbieter angezeigt. Wenn die URL in das digital signierte Zertifikat des Programms eingebettet ist, kann das Programm auch eine URL anzeigen. Programme, die nicht digital signiert sind, können keine URL anzeigen.

Auch der beschreibende Text, der vom Programm während der Registrierung bereitgestellt wird, wird angezeigt. Dieser Text ist erforderlich. Unterhalb des Beschreibungsfelds gibt an, wie viele Standardwerte das Programm derzeit aus der vollständigen Anzahl zugewiesen ist, für die es registriert ist.

Um ein Programm als Standard für alle Dateien und Protokolle zuzuweisen oder wiederherzustellen, für die es registriert ist, klickt der Benutzer auf die Option Dieses Programm als Standard festlegen .

Um einem Programm einzelne Dateitypen und Protokolle zuzuweisen, klickt der Benutzer auf die Option Standardwerte für dieses Programm auswählen . Dies zeigt eine Zuordnung für ein Programmfenster festlegen an, wie in der folgenden Abbildung.

Hinweis

Es wird empfohlen, die Set-Zuordnungen für ein Programm mithilfe von IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI aufzurufen.

 

Screenshot der Set-Zuordnungen für eine Programmseite

Bewährte Methoden für die Verwendung von Standardprogrammen

Dieser Abschnitt enthält bewährte Richtlinien für die Verwendung von Standardprogrammen beim Registrieren von Anwendungen. Es bietet auch Entwurfsvorschläge zum Erstellen einer Anwendung, die Benutzern optimale Standardprogrammfunktionen bietet.

Während der Installation

Zusätzlich zu den Installationsverfahren, die normalerweise unter Windows XP praktiziert werden, muss sich eine Windows Vista- oder höher-basierte Anwendung bei der Standardprogrammfunktion registrieren, um die Funktionalität nutzen zu können.

Führen Sie während der Installation die folgenden Schritte aus. Die Schritte 1 bis 3 entsprechen den Schritten, die in Windows XP verwendet wurden. Schritt 4 war neu in Windows Vista.

  1. Installieren Sie die erforderlichen Binärdateien.
  2. Schreiben Sie ProgIDs in HKEY_LOCAL_MACHINE. Beachten Sie, dass Anwendungen anwendungsspezifische ProgIDs für ihre Zuordnungen erstellen müssen.
  3. Registrieren Sie die Anwendung bei Standardprogrammen , wie zuvor unter Registrieren einer Anwendung für die Verwendung mit Standardprogrammen erläutert.

Nach der Installation

In diesem Abschnitt wird erläutert, wie die Anwendungsaufforderung zuerst die Standardoptionen für jeden Benutzer präsentieren soll. Außerdem wird erläutert, wie eine Anwendung ihre status als Standard für mögliche Zuordnungen und Protokolle überwachen kann.

Erste Ausführungserfahrungen

Wenn die Anwendung zum ersten Mal von einem Benutzer ausgeführt wird, wird empfohlen, dass die Anwendung die Benutzeroberfläche für den Benutzer anzeigt, die in der Regel die folgenden beiden Optionen enthält:

  • Übernehmen Sie die Standardanwendungseinstellungen. Diese Option ist standardmäßig aktiviert.
  • Passen Sie die Standardanwendungseinstellungen an.

Wenn der Benutzer vor Windows 8 die Standardeinstellungen akzeptiert, ruft Ihre Anwendung IApplicationAssociationRegistration::SetAppAsDefaultAll auf, wodurch alle Zuordnungen auf Computerebene, die während der Installation deklariert werden, in Benutzereinstellungen für diesen Benutzer konvertiert werden.

Wenn der Benutzer die Einstellungen anpassen möchte, ruft Ihre Anwendung IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI auf, um die Benutzeroberfläche für die Dateizuordnung anzuzeigen. Die folgende Abbildung zeigt dieses Fenster für den fiktiven Litware Media Player.

Screenshot der Satzzuordnungen für eine Programmseite für Litware

Das Dateizuordnungsfenster zeigt die Standardwerte an, die die Anwendung registriert hat, sowie den aktuellen Standardwert für andere Erweiterungen und Protokolle. Nachdem der Benutzer die Anpassung seiner Standardwerte abgeschlossen hat, klicken sie auf die Schaltfläche Speichern , um die Änderungen zu committen. Wenn der Benutzer auf Abbrechen klickt, wird das Fenster geschlossen, ohne änderungen zu speichern.

Sie sollten diese Benutzeroberfläche für Ihre Anwendungen verwenden, anstatt eine eigene zu erstellen. Auf diese Weise speichern Sie die Ressourcen, die zuvor zum Entwickeln der Dateizuordnungs-Benutzeroberfläche erforderlich waren. Außerdem garantieren Sie, dass Zuordnungen ordnungsgemäß gespeichert werden.

Festlegen einer Anwendung, um zu überprüfen, ob es sich um die Standardeinstellung handelt

Hinweis

Dies wird ab Windows 8 nicht mehr unterstützt.

 

Anwendungen überprüfen in der Regel, ob sie als Standard festgelegt sind, wenn sie ausgeführt werden. Legen Sie ihre Anwendungen so fest, dass diese Überprüfung durchgeführt wird, indem Sie IApplicationAssociationRegistration::QueryAppIsDefault oder IApplicationAssociationRegistration::QueryAppIsDefaultAll aufrufen.

Wenn die Anwendung feststellt, dass es sich nicht um die Standardeinstellung handelt, kann sie eine Benutzeroberfläche anzeigen, die den Benutzer fragt, ob die aktuelle Situation akzeptiert oder die Anwendung als Standard festgelegt werden soll. Fügen Sie immer ein Kontrollkästchen in diese Benutzeroberfläche ein, das standardmäßig aktiviert ist und die Option anzeigt, nicht erneut gefragt zu werden.

Hinweis

Die Standardeinstellung sollte benutzergesteuert sein. Eine Anwendung sollte niemals eine Standardeinstellung zurückfordern, ohne den Benutzer zu fragen.

 

Die folgende Abbildung zeigt ein Beispieldialogfeld.

Screenshot eines Beispieldialogfelds

Zusätzliche Ressourcen

Bewährte Methoden für Dateizuordnungen

Beispielszenario für dateizuordnung

Richtlinien für die Verwaltung von Standardanwendungen in Windows Vista und höher

Festlegen des Programmzugriffs und der Computerstandardeinstellungen (SPAD)