共用方式為


SystemSetupInfo 類別

定義

提供屬性和事件,描述全新體驗 (OOBE) 生命週期中的目前階段。

public ref class SystemSetupInfo abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 458752)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SystemSetupInfo final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 458752)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public static class SystemSetupInfo
Public Class SystemSetupInfo
繼承
Object Platform::Object IInspectable SystemSetupInfo
屬性

Windows 需求

裝置系列
Windows 10, version 1809 (已於 10.0.17763.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v7.0 引進)

範例

通用 Windows 平臺 (UWP) app 必須知道 OOBE 是否已完成,因為它在 OOBE (期間有特殊行為,例如,使用者介面中的範圍功能集 (UI) ,或只有在 OOBE 完成之後才會啟動的背景工作) 。 身為 OEM,這可能是在 OOBE 期間執行的應用程式。

private bool ShouldUseSimpleUserInterface()
{
    var oobeState = Windows.System.Profile.SystemSetupInfo.OutOfBoxExperienceState;

    // When this UWP is shown before OOBE is complete, use a simplified UI
    // with limited options, which matches the style of the rest of OOBE.
    return (oobeState != SystemOutOfBoxExperienceState.Completed);
}

身為 OEM,您想要知道裝置在工廠測試期間成功開機到 OOBE。 您想要讓每個裝置在製造過程中完成此測試作為最終驗證步驟,因此在自動化期間,您想要在 OOBE 進行中且就緒時收到通知。

// Task that has its result set once OOBE is in progress.
private TaskCompletionSource<object> oobeInProgress;

// Called when OOBE state changes. Guaranteed to be called at least once, at
// the time of event registration.
private void OnOobeStateChanged(object sender, object e)
{
    var oobeState = Windows.System.Profile.SystemSetupInfo.OutOfBoxExperienceState;
    if (oobeState == SystemOutOfBoxExperienceState.InProgress)
    {
        oobeInProgress.TrySetResult(null);
    } 
}

private async void WaitForOobeStartedAsync()
{
    oobeInProgress = new TaskCompletionSource<object>();
    Windows.System.Profile.SystemSetupInfo.OutOfBoxExperienceStateChanged += OnOobeStateChanged;
    await oobeInProgress.Task; // NOTE: you could add a timeout here, and fail when hit.
    Windows.System.Profile.SystemSetupInfo.OutOfBoxExperienceStateChanged -= OnOobeStateChanged;
 }

備註

全新體驗 (OOBE) 是使用者第一次開啟Windows 10裝置時發生的流程。 OOBE 會接受 EULA、設定系統預設的地區設定,並協助設定初始使用者帳戶。

屬性

OutOfBoxExperienceState

取得值,表示現成體驗 (OOBE) 生命週期中的目前階段。

事件

OutOfBoxExperienceStateChanged

當現用體驗生命週期中的目前階段 (OOBE) 變更時引發。

適用於