Partager via


Gérer l’activation de fichiers dans une application Windows

Votre application peut s’inscrire pour devenir le gestionnaire par défaut d’un certain type de fichier. Les applications de bureau Windows et les applications WinUI peuvent s’inscrire pour être un gestionnaire de fichiers par défaut. Si l’utilisateur choisit votre application comme gestionnaire par défaut pour un certain type de fichier, votre application est activée lorsque ce type de fichier est lancé.

Nous vous recommandons de vous inscrire uniquement pour un type de fichier si vous prévoyez de gérer tous les lancements de fichiers pour ce type de fichier. Si votre application doit uniquement utiliser le type de fichier en interne, vous n’avez pas besoin de vous inscrire pour être le gestionnaire par défaut. Si vous choisissez d’inscrire un type de fichier, vous devez fournir à l’utilisateur final les fonctionnalités attendues lorsque votre application est activée pour ce type de fichier. Par exemple, une application visionneuse d’images peut s’inscrire pour afficher un fichier .jpg. Pour plus d’informations sur les associations de fichiers, consultez Instructions pour les types de fichiers et les URI.

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

Note

Dans Windows, certaines URI et extensions de fichier sont réservées pour une utilisation par les applications intégrées et le système d’exploitation. Les tentatives d’inscription de votre application avec un URI réservé ou une extension de fichier sont ignorées. Consultez les noms de schémas d’URI réservés et les types de fichiers pour une liste alphabétique de schémas d’URI que vous ne pouvez pas inscrire pour vos applications, car elles sont réservées ou interdites.

API importantes

Les API suivantes sont utilisées dans cette rubrique :

É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 fichier répertoriées dans le manifeste du package. Voici comment vous indiquez que votre application gère les fichiers avec l’extension .alsdk .

  1. Dans l’Explorateur de solutions, double-cliquez sur package.appxmanifest pour ouvrir le concepteur de manifeste. Sélectionnez l’onglet Déclarations et, dans la liste déroulante Déclarations disponibles , sélectionnez Associations de types de fichiers, puis cliquez sur Ajouter. Pour plus d’informations sur les identificateurs utilisés par les associations de fichiers, consultez Identificateurs programmatiques .

    Voici une brève description de chacun des champs que vous pouvez remplir dans le concepteur de manifeste :

Champ Description
Nom d’affichage Spécifiez le nom d'affichage d’un groupe de types de fichiers. Le nom complet est utilisé pour identifier le type de fichier dans les programmes par défaut définis dans le Panneau de configuration.
Logo Spécifiez le logo utilisé pour identifier le type de fichier sur le bureau et dans les programmes par défaut définis dans le Panneau de configuration. Si aucun logo n’est spécifié, le petit logo de l’application est utilisé.
Info-bulle Spécifiez l’info-bulle pour un groupe de types de fichiers. Ce texte d’info-bulle s’affiche lorsque l’utilisateur pointe sur l’icône d’un fichier de ce type.
Nom Choisissez un nom pour un groupe de types de fichiers qui partagent le même nom d’affichage, logo, info-bulle et indicateurs de modification. Choisissez un nom de groupe qui peut rester le même dans les mises à jour de l’application. Note Le nom doit être en minuscules.
Type de contenu Spécifiez le type de contenu MIME, tel que image/jpeg, pour un type de fichier particulier. Remarque importante sur les types de contenu autorisés : Voici une liste alphabétique de 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.
Type de fichier Spécifiez le type de fichier à inscrire, précédé d’un point, par exemple « .jpeg ». Types de fichiers réservés et interdits : Consultez les noms de schémas d’URI réservés et les types de fichiers pour une liste alphabétique de types de fichiers pour les applications intégrées que vous ne pouvez pas inscrire pour vos applications WinUI, car elles sont réservées ou interdites.
  1. Entrez alsdk comme nom.
  2. Entrez .alsdk le type de fichier.
  3. Entrez « images\Icon.png» comme logo.
  4. Appuyez sur Ctrl+S pour enregistrer la modification apportée à package.appxmanifest.

Les étapes ci-dessus ajoutent un élément Extension comme celui-ci au manifeste du package. La catégorie windows.fileTypeAssociation indique que l’application gère les fichiers avec l’extension .alsdk .

      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap:FileTypeAssociation Name="alsdk">
            <uap:Logo>images\icon.png</uap:Logo>
            <uap:SupportedFileTypes>
              <uap:FileType>.alsdk</uap:FileType>
            </uap:SupportedFileTypes>
          </uap:FileTypeAssociation>
        </uap:Extension>
      </Extensions>

É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 endroits dans tout le système. Par exemple, ces icônes sont affichées dans :

  • Vue des éléments de l’Explorateur Windows, menus contextuels et le Ruban
  • Panneau de configuration des programmes par défaut
  • Sélecteur de fichiers
  • Résultats de la recherche sur l’écran de démarrage

Incluez une icône 44 x 44 avec votre projet afin que votre logo puisse apparaître dans ces emplacements. Faites correspondre l’apparence du logo de vignette de l’application et utilisez la couleur d’arrière-plan de votre application plutôt que de rendre l’icône transparente. Faites en sorte que le logo s'étende jusqu'au bord sans ajout de marges. Testez vos icônes sur des arrière-plans blancs. Pour plus de détails sur les icônes, consultez Lignes directrices pour les éléments graphiques et les icônes.

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

Le gestionnaire d’événements OnFileActivated reçoit tous les événements d’activation de fichier.

protected override void OnFileActivated(FileActivatedEventArgs args)
{
       // TODO: Handle file activation
       // The number of files received is args.Files.Count
       // The name of the first file is args.Files[0].Name
}
void App::OnFileActivated(Windows::ApplicationModel::Activation::FileActivatedEventArgs const& args)
{
    // TODO: Handle file activation.
    auto numberOfFilesReceived{ args.Files().Size() };
    auto nameOfTheFirstFile{ args.Files().GetAt(0).Name() };
}
void App::OnFileActivated(Windows::ApplicationModel::Activation::FileActivatedEventArgs^ args)
{
    // TODO: Handle file activation
    // The number of files received is args->Files->Size
    // The name of the first file is args->Files->GetAt(0)->Name
}

Note

Lorsqu’il est lancé via le contrat de fichier, assurez-vous que le bouton Précédent ramène l’utilisateur à l’écran qui a lancé l’application et non au contenu précédent de l’application.

Note

Dans une application WinUI, dans App.OnLaunched (ou en fait à tout moment), vous pouvez appeler (AppInstance.GetActivatedEventArgs) pour récupérer les arguments d’événement activés et les vérifier pour déterminer comment l’application a été activée. Consultez la migration des fonctionnalités de cycle de vie des applications pour plus d’informations sur les différences de cycle de vie entre les applications UWP et WinUI.

Nous vous recommandons de créer un frame XAML pour chaque événement d’activation qui ouvre une nouvelle page. De cette façon, le backstack de navigation pour le nouveau frame XAML ne contient aucun contenu précédent que l’application peut avoir sur la fenêtre actuelle lorsqu’elle est suspendue. Si vous décidez d’utiliser un cadre XAML unique pour lancer et pour les contrats de fichiers, vous devez effacer les pages du journal de navigation du frame avant de naviguer vers une nouvelle page.

Lorsque votre application est lancée via l’activation de fichier, vous devez envisager d’inclure l’interface utilisateur qui permet à l’utilisateur de revenir à la page supérieure de l’application.

Remarques

Les fichiers que vous recevez peuvent provenir d’une source non approuvée. Nous vous recommandons de valider le contenu d’un fichier avant de prendre des mesures.