StartupTask Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une application UWP ou une tâche en arrière-plan d’application de bureau qui s’exécute au démarrage du système ou lorsque l’utilisateur se connecte à son appareil.
public ref class StartupTask sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.StartupTaskContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class StartupTask final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.StartupTaskContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class StartupTask
Public NotInheritable Class StartupTask
- Héritage
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows Desktop Extension SDK (introduit dans 10.0.14393.0)
|
API contract |
Windows.ApplicationModel.StartupTaskContract (introduit dans v1.0)
|
Remarques
Cette fonctionnalité est prise en charge sur les versions de bureau de Windows dans les applications UWP et les applications de bureau dans un package d’application Windows. Pour plus d’informations sur les applications de bureau empaquetées (également appelées applications Pont du bureau), consultez Packager des applications de bureau. La prise en charge des applications de bureau empaquetées a été introduite dans la mise à jour anniversaire Windows 10 (version 1607) et pour les applications UWP dans le Windows 10 Fall Creators Update (version 1709).
Une application doit ajouter la windows.startup
catégorie d’extension à son manifeste de package d’application pour être activée au démarrage ou lorsque l’utilisateur se connecte. L’ajout de cette extension ne provoque pas automatiquement le démarrage de l’application.
Les applications UWP doivent appeler RequestEnableAsync à partir d’un thread d’interface utilisateur pour déclencher une boîte de dialogue de consentement utilisateur. Si l’utilisateur y consent, l’application UWP démarre au démarrage ou à la connexion de l’utilisateur. Notez que les applications de démarrage UWP commencent à être réduites.
Si RequestEnableAsync est appelé à partir d’une application de bureau empaquetée, aucune boîte de dialogue de consentement utilisateur n’est affichée. Les applications de bureau peuvent définir leurs tâches de démarrage sur Activé dans le manifeste, auquel cas elles n’ont pas besoin d’appeler RequestEnableAsync.
Dans les deux cas, pour activer la fonctionnalité de démarrage, l’utilisateur doit lancer l’application au moins une fois, ou il doit activer la fonctionnalité de démarrage de l’application sur la page Démarrage dans Paramètres. Une fois activé, l’utilisateur contrôle et peut modifier l’état activé de votre application à tout moment via la page Démarrage dans Paramètres ou l’onglet Démarrage dans le Gestionnaire des tâches.
La déclaration d’extension suivante est envoyée dans le manifeste du package d’application. La déclaration que vous utilisez dépend si votre tâche de démarrage sera une application UWP ou une tâche en arrière-plan d’application de bureau.
Extension de tâche de démarrage d’application de bureau empaquetée
<Package xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"...>
...
<Applications>
<Application ...>
...
<Extensions>
<uap5:Extension
Category="windows.startupTask"
Executable="MyDesktopApp.exe"
EntryPoint="Windows.FullTrustApplication">
<uap5:StartupTask
TaskId="MyStartupId"
Enabled="false"
DisplayName="My Desktop App" />
</uap5:Extension>
</Extensions>
</Application>
</Applications>
Attribut | Description |
---|---|
xmlns:uap5 | Spécifie l’espace de noms général du contrat UAP version 5. Remarque : pour la mise à jour Fall Creators (windows version 1703), utilisez plutôt l’espace de noms XML spécifique au bureau Windows et xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10", remplacez les occurrences de uap5: par desktop: dans l’exemple ci-dessus. |
Catégorie | Doit avoir la valeur "windows.startupTask" . |
Exécutable | Chemin d’accès relatif au .exe démarrer. |
EntryPoint | Doit avoir la valeur "Windows.FullTrustApplication" . |
TaskId | Un identificateur unique pour votre tâche. À l’aide de cet identificateur, votre application peut appeler les API de cette classe pour activer ou désactiver par programmation une tâche de démarrage. |
Activé | Peut être défini sur true pour les applications de bureau empaquetées afin d’indiquer que l’application est activée pour le démarrage sans avoir à appeler d’abord RequestEnableAsync. |
DisplayName | Le nom de la tâche qui s’affiche dans le Gestionnaire des tâches. |
Pour les applications de bureau empaquetées, plusieurs extensions startupTask sont autorisées et chacune peut spécifier un fichier exécutable différent.
Extension de tâche de démarrage d’application UWP
<Package xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5" ...>
...
<Applications>
<Application ...>
...
<Extensions>
<uap5:Extension Category="windows.startupTask">
<uap5:StartupTask
TaskId="MyStartupId"
Enabled="false"
DisplayName="Test startup" />
</uap5:Extension>
</Extensions>
</Application>
</Applications>
Attribut | Description |
---|---|
xmlns:uap5 | Les applications UWP utilisent l’espace de noms général du contrat UAP version 5. |
Catégorie | Doit avoir la valeur "windows.startupTask" |
TaskId | Identificateur unique de votre tâche. À l’aide de cet identificateur, votre application peut appeler les API de cette classe pour activer ou désactiver par programmation une tâche de démarrage. |
Activé | Pour les applications UWP, cet attribut est ignoré et la fonctionnalité est implicitement désactivée jusqu’à ce que l’utilisateur lance d’abord l’application et que l’utilisateur confirme la demande de l’application d’activer l’activation au démarrage. |
DisplayName | Nom de l’application UWP qui s’affiche dans le Gestionnaire des tâches. |
Exécutable | Ignoré. S’il est fourni, il ne peut pas être vide ou null. L’application à laquelle appartient le fichier Package.appxmanifest est l’exécutable implicite. |
EntryPoint | Ignoré. S’il est fourni, il ne peut pas être vide ou null. Le point d’entrée est implicite. |
Les applications UWP ne doivent avoir qu’une seule entrée exécutable et une extension windows.startupTask .
L’extension windows.startupTask est uniquement disponible pour les applications UWP qui s’exécutent sur le Bureau Windows.
Extension de tâche de démarrage Windows Web App (WWA)
<Package xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5" .m..>
...
<Applications>
<Application ...>
...
<Extensions>
<uap5:Extension Category="windows.startupTask" StartPage="EntryPage">
<uap5:StartupTask
TaskId="MyStartupId"
DisplayName="Test startup"/>
</uap5:Extension>
</Extensions>
</Application>
</Applications>
Attribut | Description |
---|---|
xmlns:uap5 | Les applications UWP utilisent l’espace de noms général du contrat UAP version 5. |
StartPage | Nom de la page à afficher au démarrage du WWA. |
Catégorie | Doit avoir la valeur "windows.startupTask" |
TaskId | Identificateur unique de votre tâche. À l’aide de cet identificateur, votre application peut appeler les API de cette classe pour activer ou désactiver par programmation une tâche de démarrage. |
DisplayName | Nom de l’application UWP qui s’affiche dans le Gestionnaire des tâches. |
Pour les applications WWA, Exécutable, EntryPoint et Enables sont ignorés et peuvent être manquants ou null.
Exemple
Le code suivant crée un StartupTask :
StartupTask startupTask = await StartupTask.GetAsync("MyStartupId"); // Pass the task ID you specified in the appxmanifest file
switch (startupTask.State)
{
case StartupTaskState.Disabled:
// Task is disabled but can be enabled.
StartupTaskState newState = await startupTask.RequestEnableAsync(); // ensure that you are on a UI thread when you call RequestEnableAsync()
Debug.WriteLine("Request to enable startup, result = {0}", newState);
break;
case StartupTaskState.DisabledByUser:
// Task is disabled and user must enable it manually.
MessageDialog dialog = new MessageDialog(
"You have disabled this app's ability to run " +
"as soon as you sign in, but if you change your mind, " +
"you can enable this in the Startup tab in Task Manager.",
"TestStartup");
await dialog.ShowAsync();
break;
case StartupTaskState.DisabledByPolicy:
Debug.WriteLine("Startup disabled by group policy, or not supported on this device");
break;
case StartupTaskState.Enabled:
Debug.WriteLine("Startup is enabled.");
break;
}
Propriétés
State |
Obtient l’état (activé, désactivé ou désactivé par l’utilisateur) de la tâche de démarrage. |
TaskId |
Obtient l’ID de la tâche de démarrage. |
Méthodes
Disable() |
Désactive la tâche de démarrage. |
GetAsync(String) |
Obtient une tâche de démarrage par ID. |
GetForCurrentPackageAsync() |
Obtient toutes les tâches de démarrage pour le package d’application actuel. |
RequestEnableAsync() |
Demande que la tâche de démarrage soit activée. Si la tâche a été désactivée par l’utilisateur à l’aide du Gestionnaire des tâches, cette méthode ne remplacera pas son choix et l’utilisateur doit réactiver la tâche manuellement. |