Comment gérer l’activation des fichiers (HTML)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Une application peut s’inscrire afin de devenir le gestionnaire par défaut pour un certain type de fichier. Les applications de bureau et les applications Windows Runtime peuvent être inscrites afin de devenir des gestionnaires de fichiers par défaut. Si l’utilisateur choisit votre application en tant que gestionnaire par défaut pour un certain type de fichier, celle-ci sera activée à chaque lancement de ce type de fichier.

Nous vous recommandons de vous inscrire uniquement pour un type de fichier si vous pensez gérer tous les lancements de fichiers pour ce type. Si votre application nécessite uniquement d’utiliser ce type de fichier en interne, vous ne devez pas vous inscrire pour devenir le gestionnaire par défaut. Si vous choisissez de vous inscrire pour un type de fichier, vous devez fournir à l’utilisateur final la fonctionnalité attendue lorsque votre application est activée pour ce type de fichier. Par exemple, une visionneuse d’images doit s’inscrire pour afficher un fichier .jpg. Pour plus d’informations sur les associations de fichiers, voir Recommandations et liste de vérification sur les types de fichiers et les URI.

Ces étapes montrent comment s’inscrire pour un type de fichier personnalisé, alsdk, et comment activer votre application quand l’utilisateur lance un fichier alsdk.

Remarque  

Dans les applications du Windows Phone Store, certains URI et certaines extensions de fichier ne peuvent être utilisés que par les applications intégrées et le système d’exploitation. Toute tentative d’inscription de votre application avec une extension de fichier ou un URI réservés sera ignorée. Pour en savoir plus, consultez la liste figurant sur cette page.

Instructions

Étape 1: Spécifier le point d’extension dans le manifeste du package

L’application reçoit des événements d’activation uniquement pour les extensions de fichiers répertoriées dans le manifeste du package. Procédez comme suit pour indiquer que votre application gère les fichiers portant l’extension .alsdk.

  1. Double-cliquez pour ouvrir package.appxmanifest dans l’Explorateur de solutions.

    Pour plus d’informations sur les identificateurs utilisés par les associations de fichiers, voir Identificateurs par programme. Voici une brève description de chacun des champs qu’il est possible de renseigner dans le manifeste du package :

    Champ Description

    Type de contenu

    Spécifiez le type de contenu MIME, par exemple image/jpeg, pour un type de fichier particulier.

    Remarque importante sur les types de contenu autorisés:  Voici la liste alphabétique des types de contenu MIME que vous ne pouvez pas entrer dans le manifeste du package car ils sont réservés ou interdits : application/force-download, application/octet-stream, application/unknown, application/x-msdownload.

    Nom

    Choisissez un nom pour un groupe de types de fichiers partageant les mêmes nom complet, logo, info-bulle et indicateurs de modification. Choisissez un nom de groupe pouvant rester le même sur toutes les applications à mettre à jour.

    Remarque  Le nom doit être entièrement en minuscules.
     

    Info-bulle

    Spécifiez l’info-bulle d’un groupe de types de fichiers. Cette info-bulle s’affiche quand l’utilisateur pointe sur l’icône d’un fichier de ce type avec la souris.

    Indicateurs de modification

    Spécifiez les indicateurs de modification d’un groupe de types de fichiers. Les indicateurs de modification contrôlent l’accès à un fichier acquis à partir d’une source non fiable. L’indicateur OpenIsSafe signale que le verbe Open correspondant au type de fichier peut être appelé en toute sécurité pour tous les fichiers téléchargés. L’indicateur AlwaysUnsafe signale que l’option d’appel automatique du verbe Open est désactivée. L’utilisateur peut remplacer cet attribut dans la boîte de dialogue Type de fichier. L’utilisation de cet indicateur signifie que la valeur OpenIsSafe n’est pas respectée. Cela empêche l’activation de la case à cocher Ne plus poser cette question dans la boîte de dialogue de sécurité lors de l’ouverture de fichiers non approuvés de ce type.

    Nom complet

    Spécifiez le nom complet d’un groupe de types de fichiers. Le nom complet sert à identifier le type de fichier dans l’option Définir les programmes par défaut du Panneau de configuration.

    Logo

    Spécifiez le logo utilisé pour identifier le type de fichier sur le Bureau et dans l’option Définir les programmes par défaut du Panneau de configuration. Si aucun logo n’est spécifié, le petit logo de l’application est utilisé.

    Type de fichier

    Précisez le type de fichier qui vous intéresse précédé d’un point (par exemple, « .jpeg »).

    Types de fichiers réservés et interdits

    Voici les listes alphabétiques des types de fichiers que vous ne pouvez pas inscrire pour votre application, car ils sont réservés ou interdits :

    Remarque  

    Pour les applications du Windows Store

    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

    Remarque  

    Pour les applications du Windows Phone Store

    Windows Phone réserve les types de fichiers suivants aux applications intégrées.

    aac, aetx, asf, bmp, cer, dotm, dotx, gif, hdp, htm, html, ico, icon, jpeg, jpg, jxr, m4a, m4rm, m4v, mov, mp3, mp4, one, onetoc2, p7b, pem, png, pptm, pptx, qcp, rtf, tif, tiff, txt, url, vcf, wav, wdp, wmv, xap, xht, xhtml, xltm, xltx, xml, xsl, zip

    Windows Phone réserve les types de fichiers suivants au système d’exploitation.

    ade, adp, app, application, apprefms, asp, bas, bat, cab, chm, cmd, cnt, com, cpf, cpl, crd, crds, crt, csh, der, dll, exe, fxp, gadget, grp, hlp, hme, hpj, hta, inf, ins, isp, its, jar, js, jse, ksh, lnk, mad, maf, mag, mam, maq, mar, mas, mat, mau, mav, maw, mcf, mda, mdb, mde, mdt, mdw, mdz, msc, msh, msh1, msh1xml, msh2, msh2xml, mshxml, msi, msp, mst, msu, ops, pcd, pif, pl, plg, plsc, prf, prg, printerexport, provxml, ps1, ps1xml, ps2, ps2xml, psc1, psc2, psm1, pst, pvw, py, pyc, pyo, rb, rbw, rdp, reg, rgu, scf, scr, shb, shs, theme, tmp, tsk, url, vb, vbe, vbp, vbs, vhd, vhdx, vsmacros, vsw, webpnp, ws, wsc, wsf, wsh, xaml, xdp, xip, xnk

    Affichage souhaité (Windows uniquement)

    Spécifiez le champ Desired View pour indiquer la quantité d’espace nécessaire à la fenêtre de l’application quand elle est lancée pour ce type de fichier. Les valeurs possibles de Desired View sont Default, UseLess, UseHalf, UseMore ou UseMinimum.

    Remarque  Windows tient compte de plusieurs facteurs différents pour déterminer la taille finale de la fenêtre de l’application cible, par exemple, la préférence de l’application source, le nombre d’applications à l’écran, l’orientation de l’écran, etc. La définition du champ Affichage souhaité ne garantit pas un comportement de fenêtrage spécifique pour l’application cible.
     

    Windows 8.1:  L’attribut Desired View n’est pas pris en charge dans les versions antérieures à Windows 8.1 et Windows Server 2012 R2.

    Windows Phone:  L’attribut Desired View n’est pas pris en charge pour Windows Phone.

     

  2. Sélectionnez l’onglet Déclarations.

  3. Sélectionnez Associations de types de fichiers dans la liste déroulante, puis cliquez sur Ajouter.

  4. Entrez alsdk comme Nom.

  5. Entrez .alsdk comme Type de fichier.

  6. Entrez « images\Icon.png » comme Logo.

  7. Appuyez sur Ctrl+S pour enregistrer la modification dans package.appxmanifest.

Cette opération ajoute un élément Extension tel que celui-ci dans le manifeste du package. La catégorie windows.fileTypeAssociation indique que l’application gère les fichiers portant l’extension .alsdk.

<Package xmlns="https://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="https://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>

Étape 2: Ajouter les icônes appropriées

Les applications qui deviennent la valeur par défaut d’un type de fichier ont leurs icônes affichées à différents emplacements dans l’ensemble du système. Par exemple, ces icônes s’affichent dans :

  • la vue d’éléments de l’Explorateur Windows, les menus contextuels et le Ruban ;
  • l’applet Programmes par défaut du Panneau de configuration ;
  • le sélecteur de fichiers ;
  • les résultats de recherche sur l’écran d’accueil.

Nous vous recommandons d’inclure les icônes appropriées dans votre projet, afin que votre logo s’affiche correctement dans tous ces emplacements. Pour une application Windows Store, incluez dans votre dossier d’images les versions en 16/32/48/256 pixels associées aux petites tailles d’icônes et de logos. Pour une application Windows Phone Store, incluez plutôt les versions en 63/129/336 pixels. Faites correspondre l’aspect du logo de la vignette d’application avec la plaque de couleur intégrée et faites en sorte que le logo s’étire jusqu’au bord sans le remplir. Testez vos icônes sur des arrière-plans blancs. Pour obtenir des exemples d’icônes, voir Exemple d’association pour un lancement d’application (Windows).

L’Explorateur de solutions avec un affichage des fichiers dans le dossier d’images. Des versions à 16, 32, 48 et 256 pixels de « Icon.targetsize » et de « smallTile-sdk » sont présentées.

Étape 3: Enregistrer l’événement activé

Inscrivez-vous pour l’événement activated pour gérer l’activation du fichier.

WinJS.Application.addEventListener("activated", onActivatedHandler, false);

Étape 4: Gérer l’événement activé

Le gestionnaire d’événements activated enregistré à l’étape 1 reçoit tous les événements d’activation. La propriété kind indique le type d’événement d’activation. Cet exemple est défini pour gérer les événements d’activation file.

function onActivatedHandler(eventArgs) {
   if (eventArgs.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.file) 
   {
       // TODO: Handle file activation.

       // The number of files received is eventArgs.detail.files.size
       // The first file is eventArgs.detail.files[0].name
   }
}

Remarque  

En cas de lancement via un contrat de fichier, les applications du Windows Phone Store doivent s’assurer que le bouton Précédent fait revenir l’utilisateur à l’écran qui a lancé l’application, et non au contenu précédent de l’application.

Nous recommandons que les applications créent une image XAML pour chaque événement d’activation qui ouvre une nouvelle page. De cette façon, le backstack de navigation pour la nouvelle image XAML ne contient aucune partie du contenu précédent pouvant figurer dans la fenêtre active de l’application au moment de la suspension. Les applications qui décident d’utiliser une seule image XAML pour le lancement et les contrats de fichier doivent effacer les pages du journal de navigation de l’image avant de naviguer vers une nouvelle page.

En cas de lancement via l’activation de fichier, les applications doivent envisager d’inclure une interface utilisateur permettant à l’utilisateur de revenir à la première page de l’application.

Remarques

Les fichiers que vous recevez peuvent provenir d’une source non approuvée. Nous vous recommandons de vérifier le contenu d’un fichier avant d’entreprendre une quelconque action sur ce fichier. Pour plus d’informations sur la validation d’entrée, voir Écriture de code sécurisé.

Terminer l’exemple

Voir Exemple d’association pour un lancement d’application (Windows).

Rubriques associées

Concepts

Programmes par défaut

Modèle d’associations de types de fichiers et de protocoles

Tâches

Comment lancer l’application par défaut d’un fichier

Comment gérer l’activation des URI

Recommandations

Recommandations et liste de vérification sur les types de fichiers et les URI

Référence

Windows.Storage.StorageFile

Windows.UI.WebUI.WebUIFileActivatedEventArgs

WinJS.Application.onactivated