Language: HTML | XAML

So wird's gemacht: Behandeln der Dateiaktivierung (Windows-Runtime-Apps mit C#/VB/C++ und XAML)

Applies to Windows and Windows Phone

Eine App kann als Standardhandler für einen bestimmten Dateityp registriert werden. Sowohl Desktop-Apps als auch Windows-Runtime-Apps können als Standardhandler für Dateien registriert werden. Wenn Ihre App vom Benutzer als Standardhandler für einen bestimmten Dateityp ausgewählt wird, wird sie immer dann aktiviert, wenn der Dateityp gestartet wird.

Wir empfehlen, die Registrierung für einen Dateityp nur durchzuführen, wenn davon auszugehen ist, dass alle entsprechenden Vorgänge für einen bestimmten Dateityp verarbeitet werden. Wenn der Dateityp von Ihrer App nur intern verwendet wird, ist die Registrierung eines Standardhandlers nicht erforderlich. Wenn Sie sich entscheiden, die Registrierung für eine bestimmten Dateityp durchzuführen, müssen Sie die entsprechenden Funktionen bereitstellen, die vom Benutzer bei der Aktivierung für diesen Dateityp erwartet werden. Beispielsweise kann eine Bildanzeige-App für das Anzeigen des Dateityps JPG registriert werden. Weitere Informationen zu Dateizuordnungen finden Sie unter Richtlinien und Prüflisten für Dateitypen und URIs.

Die folgenden Schritte zeigen, wie Sie den benutzerdefinierten Dateityp ".alsdk" registrieren und Ihre App aktivieren, wenn der Benutzer eine ALSDK-Datei startet.

Anweisungen

Schritt 1: Angeben des Erweiterungspunkts im Paketmanifest

Die App empfängt nur für die im Paketmanifest angegebenen Dateierweiterungen Aktivierungsereignisse. Im Folgenden wird beschrieben, wie Sie festlegen, dass die App Dateien mit der Erweiterung .alsdk behandelt.

  1. Doppelklicken Sie im Projektmappen-Explorer auf die Datei package.appxmanifest, um sie zu öffnen.

    Weitere Informationen zu den für Dateizuordnungen verwendeten Bezeichnern finden Sie unter ProgIDs. Im Folgenden werden die Felder, die Sie im Paketmanifest ausfüllen können, kurz beschrieben:

    FeldBeschreibung

    Inhaltstyp

    Geben Sie den MIME-Inhaltstyp (z. B. image/jpeg) für einen bestimmten Dateityp an.

    Wichtiger Hinweis zu zulässigen Inhaltstypen:  Die folgende alphabetische Liste enthält MIME-Inhaltstypen, die nicht im Paketmanifest eingegeben werden können, weil sie reserviert oder nicht zulässig sind: application/force-download, application/octet-stream, application/unknown, application/x-msdownload.

    Name

    Wählen Sie einen Namen für eine Gruppe von Dateitypen aus, für die Anzeigename, Logo, Infotipp und Bearbeitungsflags identisch sind. Verwenden Sie einen Gruppennamen, der im Fall von App-Updates beibehalten werden kann.

    Hinweis  Der Name darf nur aus Kleinbuchstaben bestehen.

    Infotipp

    Geben Sie den Infotipp für eine Gruppe von Dateien an. Diese QuickInfo wird angezeigt, wenn der Benutzer auf das Symbol für eine Datei dieses Typs zeigt.

    Bearbeitungsflags

    Geben Sie die Bearbeitungsflags für eine Gruppe von Dateitypen an. Die Bearbeitungsflags steuern den Zugriff auf eine Datei aus nicht vertrauenswürdigen Quellen. Mit dem OpenIsSafe-Flag wird angegeben, dass das Open-Verb für den Dateityp für alle heruntergeladenen Dateien sicher aufgerufen werden kann. Mit dem AlwaysUnsafe-Flag wird angegeben, dass die Option zum automatischen Aufrufen des Open-Verbs für den Dateityp deaktiviert ist. Der Benutzer kann dieses Attribut im Dialogfeld "Dateityp" überschreiben. Bei der Verwendung dieses Flags wird OpenIsSafe nicht beachtet. Es verhindert, dass das Kontrollkästchen Meldung nicht wieder anzeigen im Dialogfeld "Sicherheit" beim Öffnen nicht vertrauenswürdiger Dateien dieses Typs aktiviert wird.

    Anzeigename

    Geben Sie den Anzeigenamen für eine Gruppe von Dateien an. Der Anzeigename wird verwendet, um den Dateityp unter Standardprogramme festlegen in der Systemsteuerung zu identifizieren.

    Logo

    Geben Sie das Logo an, mit dem der Dateityp auf dem Desktop und unter Standardprogramme festlegen in der Systemsteuerung identifiziert wird. Wenn kein Logo angegeben ist, wird das kleine Logo der Anwendung verwendet.

    Dateityp

    Geben Sie den zu registrierenden Dateityp mit vorangestelltem Punkt an (z. B. ".jpeg").

    Gewünschte Ansicht (nur Windows)

    Geben Sie das Desired View-Feld an, um anzugeben, wie viel Platz für das Fenster der App benötigt wird, wenn sie für diesen Dateityp gestartet wird. Die möglichen Werte für Desired View lauten Default, UseLess, UseHalf, UseMore oder UseMinimum.

    Hinweis  Beim Bestimmen der endgültigen Fenstergröße einer App berücksichtigt Windows zahlreiche Faktoren (z. B. die Einstellung der Quell-App, die Anzahl der Apps auf dem Bildschirm, die Bildschirmausrichtung usw.). Das Festlegen von Gewünschte Ansicht ist keine Garantie, dass das Fenster der Ziel-App auch wirklich so angezeigt wird.

    Windows 8.1:  Desired View wird erst ab Windows 8.1 und Windows Server 2012 R2 unterstützt.

    Windows Phone:  Desired View wird für Windows Phone nicht unterstützt.

     

  2. Klicken Sie auf die Registerkarte Deklarationen.
  3. Wählen Sie in der Dropdownliste die Option Dateitypzuordnungen aus und klicken Sie auf Hinzufügen.
  4. Geben Sie alsdk in das Feld Name ein.
  5. Geben Sie .alsdk als Dateityp ein.

    Wichtiger Hinweis:  Im Folgenden finden Sie eine alphabetische Liste der Dateitypnamen, die nicht im Paketmanifest eingegeben werden können, da sie entweder reserviert oder unzulässig sind: Accountpicture-ms, Appx, application, Appref-ms, Bat, Cer, Chm, Cmd, Com, Cpl, crt, dll, drv, Exe, fon, gadget, Hlp, Hta, Inf ,Ins, jse, lnk, Msi, Msp, ocx, pif, Ps1, Reg, Scf, Scr, Shb, Shs, Sys, ttf, url, Vbe, Vbs, Ws, Wsc, Wsf, Wsh.

  6. Geben Sie als Logo "images\Icon.png" ein.
  7. Drücken Sie STRG+S, um die an package.appxmanifest vorgenommenen Änderungen zu speichern.

Dadurch wird dem Paketmanifest ein Extension-Element wie das unten dargestellte hinzugefügt. Die windows.fileTypeAssociation-Kategorie gibt an, dass die App Dateien mit der Erweiterung .alsdk behandelt.


<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
   <Applications>
      <Application Id="AutoLaunch.App">
         <Extensions>
            <Extension Category="windows.fileTypeAssociation">
                <FileTypeAssociation Name="alsdk">
                  <DisplayName>SDK Sample File Type</DisplayName>
                  <Logo>images\logo.png</Logo>
                  <InfoTip>SDK Sample tip </InfoTip>
                  <EditFlags OpenIsSafe="true" />
                  <SupportedFileTypes>
                     <FileType ContentType="image/jpeg">.alsdk</FileType>
                  </SupportedFileTypes>
               </FileTypeAssociation>
            </Extension>
         </Extensions>
      </Application>
   </Applications>
</Package>

Schritt 2: Hinzufügen der geeigneten Symbole

Die Symbole von Apps, die für einen Dateityp zum Standard werden, werden an verschiedenen Stellen innerhalb des Systems angezeigt. Diese Symbole werden z. B. an folgenden Stellen angezeigt:

  • ItemsView von Windows Explorer, Kontextmenüs, Menüband
  • Standardprogramme in der Systemsteuerung
  • Dateiauswahl
  • Suchergebnisse auf der Startseite
Wir empfehlen, die richtigen Symbole in das Projekt aufzunehmen, damit Ihr Logo an allen diesen Stellen gut aussieht. Fügen Sie im Bildordner kleine Logo- und Symbolgrößen von 16/32/48/256 Pixeln hinzu. Diese Symbole sollten dem Aussehen des Kachellogos entsprechen und die Farbpalette enthalten. Testen Sie Ihre Symbole auf weißem Hintergrund. Beispielsymbole finden Sie unter Beispiel für Assoziationsstart.

Der Projektmappen-Explorer mit einer Ansicht der Dateien im Bildordner. Es gibt Versionen mit 16, 32, 48 und 256 Pixeln für "Icon.targetsize" und "smallTile-sdk"

Schritt 3: Behandeln des activated-Ereignisses

Der OnFileActivated-Ereignishandler empfängt alle Dateiaktivierungsereignisse.


protected override void OnFileActivated(FileActivatedEventArgs args)
{
       // TODO: Handle file activation

       // The number of files received is args.Files.Size
       // The first file is args.Files[0].Name
}

  • Applies to Windows Phone

Hinweis  

Bei Windows Phone-Anwendungen, die über einen Dateivertrag gestartet werden, muss der Benutzer über die Zurück-Schaltfläche zu dem Bildschirm zurückkehren, von dem aus die App gestartet wurde, und nicht zum vorherigen Inhalt der App.

Apps sollten für jedes Aktivierungsereignis, durch das eine neue Seite geöffnet wird, einen neuen XAML-Frame erstellen. So enthält der Navigationsbackstack für den neuen XAML-Frame keinen vorherigen Inhalt, der beim Anhalten der App im aktuellen Fenster angezeigt wurde. Apps, für die ein einziger XAML-Frame für Start- und Dateiverträge verwendet wird, sollten vor dem Navigieren zu einer neuen Seite die Seiten im Navigationsjournal des Frames löschen.

Per Dateiaktivierung gestartete Apps sollten ggf. eine Benutzeroberfläche enthalten, über die der Benutzer zur ersten Seite der App zurückkehren kann.

Anmerkungen

Die empfangenen Dateien stammen möglicherweise aus einer nicht vertrauenswürdigen Quelle. Wir empfehlen, den Inhalt einer Datei zu überprüfen, bevor Sie sie weiter verarbeiten. Weitere Informationen zur Eingabeüberprüfung finden Sie unter Schreiben von sicherem Code.

Vollständiges Beispiel

Siehe Beispiel für Assoziationsstart.

Verwandte Themen

Konzepte
Standardprogramme
Dateityp- und Protokollzuordnungsmodell
Kompatibilitäts-Cookbook für Windows 8 Consumer Preview und Windows Server 2012 Beta
Aufgaben
So wird's gemacht: Starten der Standard-App für eine Datei
Behandeln der Protokollaktivierung
Richtlinien
Richtlinien und Prüflisten für Dateitypen und URIs
Referenz
Windows.ApplicationModel.Activation.FileActivatedEventArgs
Windows.UI.Xaml.Application.OnFileActivated

 

 

Anzeigen:
© 2014 Microsoft