Поделиться через


CoreApplication.RequestRestartAsync(String) Метод

Определение

Перезапустите приложение.

public:
 static IAsyncOperation<AppRestartFailureReason> ^ RequestRestartAsync(Platform::String ^ launchArguments);
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<AppRestartFailureReason> RequestRestartAsync(winrt::hstring const& launchArguments);
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<AppRestartFailureReason> RequestRestartAsync(string launchArguments);
function requestRestartAsync(launchArguments)
Public Shared Function RequestRestartAsync (launchArguments As String) As IAsyncOperation(Of AppRestartFailureReason)

Параметры

launchArguments
String

Platform::String

winrt::hstring

Аргументы для передачи в перезапущенный экземпляр.

Возвращаемое значение

Состояние запроса на перезапуск.

Атрибуты

Требования к Windows

Семейство устройств
Windows 10 Fall Creators Update (появилось в 10.0.16299.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v5.0)

Примеры

private async void DoMajorAppReconfiguration()
{
    // Attempt restart, with arguments.
    AppRestartFailureReason result =
        await CoreApplication.RequestRestartAsync("-fastInit -level 1 -foo");

    // Restart request denied, send a toast to tell the user to restart manually.
    if (result == AppRestartFailureReason.NotInForeground
        || result == AppRestartFailureReason.Other)
    {
        SendToast("Please manually restart.");
    }
}

Комментарии

  • Приложение должно быть видимым и передним планом при вызове этого API.
  • Если перезагрузка завершается сбоем, но пользователь впоследствии запускает приложение вручную, приложение запускается в обычном режиме и аргументы перезапуска не передаются.
  • Если приложение не было запущено обычным образом, но было запущено контрактом общего доступа, средством выбора файлов, службой приложений и т. д., приложение не должно вызывать этот API, так как пользователь не ожидает результирующего поведения.
  • Приложение не должно запрашивать сеанс расширенного выполнения после вызова этого API, так как это приведет к ухудшению взаимодействия с пользователем.
  • Если в приложении есть фоновые задачи внутри процесса, выполняемые при вызове этого API, эти задачи будут отменены обычным образом. Фоновые задачи вне процесса не будут затронуты.
  • При перезапуске приложения LaunchActivatedEventArgs.PreviousExecutionState будет иметь значение Terminated , чтобы приложение могло различать возобновление и перезапуск.

Применяется к

См. также раздел