Condividi tramite


SystemSetupInfo Classe

Definizione

Fornisce una proprietà e un evento che descrivono la fase corrente nel ciclo di vita dell'esperienza predefinita (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
Ereditarietà
Object Platform::Object IInspectable SystemSetupInfo
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10, version 1809 (è stato introdotto in 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v7.0)

Esempio

Un'app piattaforma UWP (Universal Windows Platform) (UWP) deve sapere se OOBE è completa, poiché ha un comportamento speciale durante OOBE (ad esempio, una funzionalità con ambito impostata nell'interfaccia utente) o attività in background che iniziano solo dopo il completamento dell'OOBE. Come OEM, questa potrebbe essere l'app in esecuzione durante L'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);
}

Come OEM, si vuole sapere che un dispositivo viene avviato correttamente in OOBE durante i test di fabbrica. Si vuole che ogni dispositivo passi questo test come passaggio di verifica finale nel processo di produzione e quindi durante l'automazione si vuole ricevere una notifica quando OOBE è in corso e pronto.

// 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;
 }

Commenti

L'esperienza out-of-box (OOBE) è il flusso che si verifica la prima volta che l'utente attiva un dispositivo Windows 10. L'OOBE ottiene l'accettazione dell'EULA, imposta le impostazioni locali predefinite del sistema e consente di configurare l'account utente iniziale.

Proprietà

OutOfBoxExperienceState

Ottiene un valore che rappresenta la fase corrente nel ciclo di vita dell'esperienza predefinita (OOBE).

Eventi

OutOfBoxExperienceStateChanged

Generato quando la fase corrente nel ciclo di vita dell'esperienza predefinita (OOBE) cambia.

Si applica a