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 的值會終止 ,讓應用程式 可以區分繼續和重新開機。

適用於

另請參閱