Standardprogramme
Verwenden Sie Standardprogramme, um die Standardbenutzerumgebung festzulegen. Benutzer können über die Systemsteuerung oder direkt über das Startmenü auf Standardprogramme zugreifen. Set Program Access and Computer Defaults (SPAD) Tool, die primäre Standardumgebung für Benutzer in Windows XP, ist jetzt ein Teil Standardprogramme.
Wichtig
Dieses Thema gilt nicht für Windows 10. Die Art und Weise, wie Dateizuordnungen in Windows 10 geändert werden. Weitere Informationen finden Sie im Abschnitt zu Änderungen daran, wie Windows 10 Standard-Apps in diesem Beitragbehandelt.
Wenn ein Benutzer standardmäßig Standardprogrammefestlegt, gilt die Standardeinstellung nur für diesen Benutzer und nicht für andere Benutzer, die möglicherweise denselben Computer verwenden. Standardprogramme bietet eine Reihe von APIs (veraltet in Windows 8), die es unabhängigen Softwareanbietern (ISVs) ermöglichen, ihre Programme oder Anwendungen in das Standardsystem einzuschließen. Der API-Satz hilft ISVs auch dabei, ihren Status als Standardwerte besser zu verwalten.
Dieses Thema ist wie folgt organisiert:
- Einführung in Standardprogramme und die zugehörigen API-Sätze
- Registrieren einer Anwendung für die Verwendung mit Standardprogrammen
- als Standardbrowser-
- Benutzeroberfläche für Standardprogramme
- bewährte Methoden für die Verwendung von Standardprogrammen
- zusätzliche Ressourcen
- Verwandte Themen
Einführung in Standardprogramme und zugehörige API-Sätze
Standardprogramme werden in erster Linie für Anwendungen entwickelt, die Standarddateitypen wie .mp3 oder .jpg Dateien oder Standardprotokolle wie HTTP oder Mailto verwenden. Anwendungen, die eigene proprietäre Protokolle und Dateizuordnungen verwenden, verwenden in der Regel nicht die Standardprogramme Funktionalität.
Nachdem Sie eine Anwendung für Standardprogramme Funktionalität registriert haben, stehen die folgenden Optionen und Funktionen mithilfe des API-Satzes zur Verfügung:
- Alle registrierten Standardwerte für eine Anwendung wiederherstellen. Veraltet für Windows 8.
- Wiederherstellen eines einzelnen registrierten Standardwerts für eine Anwendung. Veraltet für Windows 8.
- Fragen Sie den Besitzer eines bestimmten Standardwerts in einem einzelnen Aufruf ab, anstatt die Registrierung zu durchsuchen. Sie können die Standardeinstellung einer Dateizuordnung, eines Protokolls oder Startmenüs menüs (kanonisches Verb) abfragen.
- Starten Sie eine Benutzeroberfläche für eine bestimmte Anwendung, in der ein Benutzer einzelne Standardeinstellungen festlegen kann.
- Entfernen Sie alle Benutzerzuordnungen.
Standardprogramme stellt außerdem eine Benutzeroberfläche bereit, mit der Sie eine Anwendung registrieren können, um dem Benutzer zusätzliche Informationen bereitzustellen. Beispielsweise kann eine digital signierte Anwendung eine URL zur Startseite des Herstellers enthalten.
Die Verwendung des zugeordneten API-Satzes kann dazu beitragen, dass eine Anwendung ordnungsgemäß unter dem in Windows Vista eingeführten Feature für benutzerkontensteuerung (User Account Control, UAC) funktioniert. Unter der UAC wird dem System ein Administrator als Standardbenutzer angezeigt, sodass der Administrator normalerweise nicht in die HKEY_LOCAL_MACHINE Unterstruktur schreiben kann. Diese Einschränkung ist ein Sicherheitsfeature, das verhindert, dass ein Prozess ohne Wissen des Administrators als Administrator fungiert.
Die Installation eines Programms durch einen Benutzer wird in der Regel als Prozess mit erhöhten Rechten ausgeführt. Versuche einer Anwendung, standardzuordnungsverhalten auf Computerebene nach der Installation zu ändern, sind jedoch nicht erfolgreich. Stattdessen müssen Standardeinstellungen auf benutzerspezifischer Ebene registriert werden, wodurch verhindert wird, dass mehrere Benutzer die Standardwerte gegenseitig überschreiben.
Die hierarchische Registrierungsstruktur für Datei- und Protokollzuordnungen hat Vorrang vor Standardeinstellungen auf Computerebene. Einige Anwendungen enthalten Punkte in ihrem Code, die ihre Rechte vorübergehend erhöhen, wenn sie Standardansprüche geltend machen, die in HKEY_LOCAL_MACHINEregistriert sind. Diese Anwendungen können unerwartete Ergebnisse erzielen, wenn bereits eine andere Anwendung als Standard für benutzerspezifische Anwendungen registriert ist. Die Verwendung von Standardprogramme verhindert diese Mehrdeutigkeit und garantiert erwartete Ergebnisse pro Benutzerebene.
Registrieren einer Anwendung für die Verwendung mit Standardprogrammen
In diesem Abschnitt werden die Registrierungsunterschlüssel und -werte aufgeführt, die zum Registrieren einer Anwendung mit Standardprogrammenerforderlich sind. Es enthält ein vollständiges Beispiel.
Dieser Abschnitt enthält die folgenden Themen:
- ProgIDs-
- Registrierungsunterschlüssel und Wertbeschreibungen
- RegisteredApplications-
- vollständige Registrierung
Standardprogramme erfordert, dass jede Anwendung explizit die Dateizuordnungen, MIME-Zuordnungen und Protokolle registriert, für die die Anwendung als möglicher Standardwert aufgeführt werden soll. Sie registrieren die Zuordnungen mithilfe der folgenden Registrierungselemente, die weiter unten in diesem Thema unter Registrierungsunterschlüssel und Wertbeschreibungenausfü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, der als "WebBrowser" bezeichnet wird:
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. Achten Sie darauf, alle Informationen einzuschließen, die in der Regel in den generischen Standardunterschlüssel für die Erweiterung geschrieben werden. Beispielsweise stellt der fiktive Litware Media Player den anwendungsspezifischen 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\SOFTWARE\Klassen\.mp3 sowie alle zusätzlichen Informationen, die die Anwendung registrieren soll. Dadurch wird sichergestellt, dass die Informationen des Litware-Spielers, wenn der Benutzer die .mp3 Zuordnung zum Litware-Player wiederhergestellt hat, intakt ist und nicht von einer anderen Anwendung überschrieben wurde. (Das Ü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, können Sie bei Verwendung von Protokollen jedes Protokolls über eine eigene Ausführungszeichenfolge verfügen.
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 in einer Suche nach der CLSID in der MIME-Datenbank verwendet, die in HKEY_LOCAL_MACHINE\SOFTWARE\Klassen\MIME\Datenbank\Inhaltstypgespeichert ist. Wenn Ihr MIME-Typ nicht inline in einem Browser angezeigt werden soll, kann dieser Schritt weggelassen werden.
Registrierungsunterschlüssel und Wertbeschreibungen
In diesem Abschnitt werden die einzelnen Registrierungsunterschlüssel und -werte beschrieben, die bei der Registrierung einer Anwendung mit Standardprogrammenverwendet werden, wie zuvor veranschaulicht.
Fähigkeiten
Der Unterschlüssel Funktionen enthält alle Standardprogramme Informationen für eine bestimmte Anwendung. Der Platzhalter %ApplicationCapabilityPath% bezieht sich auf den Registrierungspfad von HKEY_CURRENT_USER oder HKEY_LOCAL_MACHINE zum Capabilities Unterschlüssel der Anwendung. Dieser Unterschlüssel enthält die signifikanten Werte in der folgenden Tabelle.
Wert | Art | 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 das vorherige Contoso-Beispiel die Beschreibung direkt dem ApplicationDescription-Wert zuweist, stellen Anwendungen in der Regel die Beschreibung als Ressource bereit, die in eine .dll Datei eingebettet ist, um die Lokalisierung zu erleichtern. Wenn ApplicationDescription nicht bereitgestellt wird, wird die Anwendung nicht in Benutzeroberflächenlisten potenzieller Standardprogramme angezeigt. |
ApplicationName | REG_SZ oder REG_EXPAND_SZ | Wahlfrei. Der Name, nach dem das Programm in der Benutzeroberfläche für 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, in der Benutzeroberfläche verwendet. ApplicationName muss immer mit dem Namen übereinstimmen, der unter RegisteredApplicationsregistriert ist. Sie können ApplicationName verwenden, wenn Sie unterschiedliche Anwendungstypen wie einen Browser und einen E-Mail-Client verwenden möchten, um auf dieselbe ausführbare Datei zu zeigen, während sie als unterschiedliche Namen angezeigt werden. |
Versteckt | REG_DWORD | Wahlfrei. Legen Sie diesen Wert auf 1 fest, um die Anwendung aus der Liste der Programme im Dialogfeld "Standardprogramme festlegen" zu unterdrücken. Wenn dieser Wert 0 oder nicht vorhanden ist, wird die Anwendung normal in der Liste angezeigt. |
FileAssociations
Der Dateizuordnungen Unterschlüssel 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 MIMEAssociations Unterschlüssel 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 exakt 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 Startmenü-Unterschlüssel ist dem vom Benutzer zugewiesenen Internet- und E-Mail- Einträgen im Menü Start zugeordnet. Ein Antrag muss sich separat als Antragsteller für diese Einträge registrieren. Weitere Informationen finden Sie unter Registrieren von Programmen mit Clienttypen.
Anmerkung
Ab Windows 7 gibt es keine Internet- mehr und E-Mail- Einträge im Menü Start. Die Registrierungsdaten, die dem E-Mail- Eintrag zugeordnet sind, werden weiterhin für den Standard-MAPI-Client verwendet, aber die Registrierungsdaten, die dem Internet Eintrag zugeordnet sind, werden überhaupt nicht von Windows verwendet.
Durch Zuordnen der Menüregistrierung einer Anwendung mit der Standardprogramme Registrierung wird die Anwendung als potenzielle Standardeinstellung in der Set-Zuordnungen UI angezeigt. Wenn der Benutzer die Anwendung als Standard ausgewählt hat und dann später alle Standardeinstellungen der Anwendung wiederherstellen möchte, wird die Anwendung in der Start menüposition für diesen Benutzer wiederhergestellt. Weitere Informationen und eine Abbildung finden Sie im Abschnitt Benutzeroberfläche für Standardprogramme weiter unten in diesem Thema.
Der Startmenü-Unterschlüssel enthält zwei Einträge: "StartMenuInternet" und "Mail", die dem kanonischen Internet- und E-Mail- Positionen im Menü Start 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 in Registrieren von Programmen mit Clienttypenbeschrieben).
Im Fall der E-Mail- kanonische Position im menü Start stellt sie den MapI-Standardclient dar und wird daher davon ausgegangen, MAPI-Aufrufe zu übergeben. Unter Windows 7 befindet sich zwar keine E-Mail- kanonische Position im Menü Start, dieser Unterschlüssel wird weiterhin für den Standard-MAPI-Client verwendet. Eine Anwendung, die die E-Mail-Standardeinstellung angibt, sollte als MAPI-Handler unter dem folgenden Unterschlüssel registriert werden:
HKEY_LOCAL_MACHINE
SOFTWARE
Clients
Mail
CanonicalName
Wenn ein E-Mail-Client MAPI nicht unterstützen kann, aber dennoch für das menü StartE-Mail- kanonische Position 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 unter HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\CanonicalName einen Standardwert mit dem Anwendungsnamen hinzu.
Mit diesen Einträgen kann die Anwendung über die Start menüposition E-Mail- gestartet werden. Beachten Sie, dass MAPI-Aufrufe weiterhin an die Anwendung vorgenommen werden und entweder auf den vorherigen MAPI-Handler oder fehlschlagen, wenn kein MAPI-Handler festgelegt wurde. Weitere Informationen finden Sie unter Registrieren von Programmen mit Clienttypen.
UrlAssociations
Der UrlAssociations Unterschlüssel 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 anstelle einer generischen ProgID verweisen. Wie im Contoso-Beispiel erwähnt, können Sie für jedes Protokoll eine andere ProgID verwenden, damit jedes Protokoll über eine eigene Ausführungszeichenfolge verfügt.
RegisteredApplications
Der vollständige Unterschlüssel für RegisteredApplications lautet:
HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications
Dieser Unterschlüssel stellt das Betriebssystem mit dem Registrierungsspeicherort der Standardprogramme Informationen für die Anwendung bereit. Der Speicherort wird als Wert gespeichert, dessen Name mit dem Namen der Anwendung übereinstimmen muss.
Vollständige Registrierung (Beispiel)
Dieses Beispiel zeigt die Unterschlüssel und Werte, die beim Registrieren des fiktiven Litware Media Players 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 MIME-Typ .mp3:
HKEY_LOCAL_MACHINE
SOFTWARE
Classes
LitwarePlayer11.MIME.MP3
CLSID
(Default) = {CD3AFA76-B84F-48F0-9393-7EDC34128127}
Als Nächstes ist die anwendungsspezifische ProgID, die das Litware-Programm der .mp3 Dateinamenerweiterung zuordnet.
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 MIME-Typ und die Dateinamenerweiterung .mpeg.
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 in 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 registriert dieses Beispiel den Speicherort der Litware-Standardprogramme Registrierung.
HKEY_LOCAL_MACHINE
SOFTWARE
RegisteredApplications
Litware Player = Software\Litware\LitwarePlayer\Capabilities
Der Standardbrowser wird
Die Browserregistrierung muss den in diesem Thema beschriebenen bewährten Methoden entsprechen. Wenn der Browser installiert ist, kann Windows dem Benutzer eine Systembenachrichtigung präsentieren, ü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 flag SHCNE_ASSOCCHANGED auf, um Windows mitzuteilen, dass neue Protokollhandler registriert wurden.
- Windows erkennt, dass eine oder mehrere neue Anwendungen registriert wurden, um sowohl http:// als auch https:// Protokolle zu verarbeiten, und der Benutzer wurde noch nicht benachrichtigt. Anders ausgedrückt: Dem Benutzer wurde keine der folgenden Elemente angezeigt: eine Systembenachrichtigung, die die Anwendung anzeigt, ein OpenWith-Flyout, das die Anwendung enthält, oder die Seite "Benutzerstandardeinstellungen festlegen" (SUD) für die Anwendung.
Das folgende Beispiel zeigt den empfohlenen Registrierungscode, den das Installationsprogramm des Browsers ausführen soll, nachdem er seine Registrierungsschlüssel geschrieben hat.
SHChangeNotify benachrichtigt zuerst das System, dass neue Zuordnungsoptionen verfügbar sind. Der SHChangeNotify Aufrufs ist erforderlich, um das ordnungsgemäße Funktionieren der Systemstandardwerte sicherzustellen.
Eine Sleep--Anweisung ermöglicht dann die Verarbeitung der Benachrichtigung durch Systemprozesse.
void NotifySystemOfNewRegistration()
{
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_DWORD | SHCNF_FLUSH, nullptr, nullptr);
Sleep(1000);
}
Wenn der Benutzer die resultierende Benachrichtigung oder das Flyout schließt oder ignoriert, ohne eine neue Standardbrowserauswahl vorzunehmen, bleibt der Standardbrowser unverändert. Beachten Sie, dass der Benutzer den Standardbrowser jederzeit über andere Mechanismen ändern kann, einschließlich festlegen von Benutzerstandardeinstellungen in der Systemsteuerung.
Standardprogramm-Benutzeroberfläche
Die Abbildungen in diesem Abschnitt zeigen die Benutzeroberfläche für Standardprogramme, wie vom Benutzer gesehen.
Die folgende Abbildung zeigt das Hauptfenster Standardprogramme in der Systemsteuerung.
Wenn ein Benutzer die Option Festlegen der Standardprogramme Option 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 Standardwert ist. Wie in der folgenden Abbildung dargestellt, werden alle registrierten Programme und das Programmsymbol im Feld Programme links angezeigt.
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.
Beschreibender Text, der während der Registrierung durch das Programm bereitgestellt wird, wird ebenfalls angezeigt. Dieser Text ist erforderlich. Unterhalb des Beschreibungsfelds ist ein Hinweis darauf, wie viele Standardwerte das Programm derzeit aus der vollständigen Nummer zugewiesen ist, für die es registriert ist.
Wenn Sie ein Programm als Standard für alle Dateien und Protokolle zuweisen oder wiederherstellen möchten, für die es registriert ist, klickt der Benutzer auf die option Dieses Programm als Standardoption festlegen.
Wenn Sie einem Programm einzelne Dateitypen und Protokolle zuweisen möchten, klickt der Benutzer auf die Option "Standard für dieses Programm auswählen", die eine Zuordnungen für ein Programm Fensters wie in der folgenden Abbildung anzeigt.
Anmerkung
Es wird empfohlen, die Set-Zuordnungen für ein Programm mithilfe von IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUIaufzurufen.
Bewährte Methoden für die Verwendung von Standardprogrammen
Dieser Abschnitt enthält Bewährte Methoden für die Verwendung Standardprogramme beim Registrieren von Anwendungen. Es bietet außerdem Designvorschläge zum Erstellen einer Anwendung, die Benutzern optimale Standardprogramme Funktionalität bietet.
Während der Installation
Neben den üblichen Installationsverfahren unter Windows XP muss sich eine Windows Vista- oder höher-basierte Anwendung bei der Standardprogramme-Funktion registrieren, um die Funktionalität zu nutzen.
Führen Sie während der Installation die folgende Abfolge von Schritten aus. Die Schritte 1 bis 3 entsprechen den Schritten, die in Windows XP verwendet wurden; Schritt 4 war neu in Windows Vista.
- Installieren Sie die erforderlichen Binärdateien.
- Schreiben Sie ProgIDs in HKEY_LOCAL_MACHINE. Beachten Sie, dass Anwendungen anwendungsspezifische ProgIDs für ihre Zuordnungen erstellen müssen.
- Registrieren Sie die Anwendung mit Standardprogrammen, wie zuvor in Registrieren einer Anwendung für die Verwendung mit Standardprogrammenerläutert.
Nach der Installation
In diesem Abschnitt wird erläutert, wie die Anwendungsaufforderung zuerst die Standardoptionen für jeden Benutzer darstellen soll. Außerdem wird erläutert, wie eine Anwendung ihren Status als Standard für mögliche Zuordnungen und Protokolle überwachen kann.
First Run Experiences
Wenn die Anwendung zum ersten Mal von einem Benutzer ausgeführt wird, wird empfohlen, dass die Benutzeroberfläche der Anwendung für den Benutzer angezeigt wird, die in der Regel diese 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::SetAppAsDefaultAllauf, wodurch alle Zuordnungen auf Computerebene konvertiert werden, die während der Installation deklariert werden, in benutzerspezifische Einstellungen für diesen Benutzer.
Wenn der Benutzer entscheidet, die Einstellungen anzupassen, ruft ihre Anwendung IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI auf, um die Dateizuordnungs-UI anzuzeigen. Die folgende Abbildung zeigt dieses Fenster für den fiktiven Litware Media Player.
Das Dateizuordnungsfenster zeigt die Standardwerte an, die die Anwendung registriert hat, und zeigt auch den aktuellen Standardwert für andere Erweiterungen und Protokolle an. Nachdem der Benutzer die Anpassung der Standardeinstellungen abgeschlossen hat, klicken sie auf die Schaltfläche Speichern, um die Änderungen zu übernehmen. Wenn der Benutzer auf Cancelklickt, wird das Fenster geschlossen, ohne Änderungen zu speichern.
Sie sollten diese Benutzeroberfläche für Ihre Anwendungen verwenden, anstatt eigene zu erstellen. Auf diese Weise speichern Sie die Ressourcen, die zuvor zum Entwickeln der Dateizuordnungs-UI erforderlich waren. Außerdem garantieren Sie, dass Zuordnungen ordnungsgemäß gespeichert werden.
Festlegen einer Anwendung, um zu überprüfen, ob es sich um den Standardwert handelt
Anmerkung
Dies wird ab Windows 8 nicht mehr unterstützt.
Anwendungen überprüfen in der Regel, ob sie beim Ausführen als Standard festgelegt sind. Legen Sie ihre Anwendungen fest, um diese Überprüfung vorzunehmen, indem Sie IApplicationAssociationRegistration::QueryAppIsDefault oder IApplicationAssociationRegistration::QueryAppIsDefaultAllaufrufen.
Wenn die Anwendung feststellt, dass sie nicht die Standardeinstellung ist, kann sie eine Benutzeroberfläche darstellen, die den Benutzer fragt, ob die aktuelle Situation akzeptiert oder die Anwendung als Standard festgelegt wird. Fügen Sie immer ein Kontrollkästchen in diese Benutzeroberfläche ein, das standardmäßig aktiviert ist und die Option darstellt, die nicht erneut gefragt werden soll.
Anmerkung
Die Standardeinstellung sollte vom Benutzer gesteuert werden. Eine Anwendung sollte niemals einen Standardwert zurückfordern, ohne den Benutzer zu fragen.
Die folgende Abbildung zeigt ein Beispieldialogfeld.
Zusätzliche Ressourcen
Verwandte Themen
-
Richtlinien für die Verwaltung von Standardanwendungen in Windows Vista und höher
-
Festlegen von Programmzugriffs- und Computerstandardeinstellungen (SPAD)