CoreApplication.RequestRestartForUserAsync(User, String) Méthode
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.
Redémarrez l’application dans le contexte d’un autre utilisateur.
public:
static IAsyncOperation<AppRestartFailureReason> ^ RequestRestartForUserAsync(User ^ user, Platform::String ^ launchArguments);
/// [Windows.Foundation.Metadata.RemoteAsync]
static IAsyncOperation<AppRestartFailureReason> RequestRestartForUserAsync(User const& user, winrt::hstring const& launchArguments);
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<AppRestartFailureReason> RequestRestartForUserAsync(User user, string launchArguments);
function requestRestartForUserAsync(user, launchArguments)
Public Shared Function RequestRestartForUserAsync (user As User, launchArguments As String) As IAsyncOperation(Of AppRestartFailureReason)
Paramètres
- user
- User
Utilisateur en tant que qui doit redémarrer l’application.
- launchArguments
-
String
Platform::String
winrt::hstring
Arguments à passer à l’instance redémarré.
Retours
Status de la demande de redémarrage.
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 Fall Creators Update (introduit dans 10.0.16299.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v5.0)
|
Exemples
private async void RestartAsAnotherUser(string selectedUser)
{
IReadOnlyList<User> users = await User.FindAllAsync();
foreach (User user in users)
{
object accountProperty =
await user.GetPropertyAsync(KnownUserProperties.AccountName);
string accountName = (string)accountProperty;
if (accountName == selectedUser)
{
// Attempt restart, with arguments.
AppRestartFailureReason result = await App.RequestRestartForUserAsync(
user, "-fastInit -mainMenu");
// Restart request denied, tell the user to restart manually.
if (result== AppRestartFailureReason.InvalidUser)
{
SendToast(string.Format("Could not restart as user {0} - please manually restart.", user));
}
}
}
}
Remarques
- L’application doit être visible et au premier plan quand elle appelle cette API.
- Si le redémarrage échoue, mais que l’utilisateur lance ensuite l’application manuellement, l’application se lance normalement et aucun argument de redémarrage n’est passé.
- Si l’application n’a pas été lancée normalement, mais a été lancée par un contrat de partage, un sélecteur de fichiers, un service d’application, etc., l’application ne doit pas appeler cette API, car l’utilisateur ne s’attend pas au comportement résultant.
- L’application est chargée de garantir la validité de l’objet User . L’activation échoue s’il existe une stratégie en place qui empêche cet utilisateur d’exécuter l’application.
- L’application ne doit pas demander une session d’exécution étendue après avoir appelé cette API, car cela entraînera une expérience utilisateur médiocre.
- Si l’application a des tâches en arrière-plan in-process en cours d’exécution lorsqu’elle appelle cette API, ces tâches sont annulées normalement. Les tâches en arrière-plan hors processus ne seront pas affectées.
- Lorsque l’application est redémarrée, LaunchActivatedEventArgs.PreviousExecutionState a la valeur Terminated afin que l’application puisse faire la distinction entre un cv et un redémarrage.