Partager via


SystemSetupInfo Classe

Définition

Fournit une propriété et un événement qui décrivent l’étape actuelle du cycle de vie de l’expérience OOBE (Out-of-Box Experience).

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
Héritage
Object Platform::Object IInspectable SystemSetupInfo
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10, version 1809 (introduit dans 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v7.0)

Exemples

Une application plateforme Windows universelle (UWP) doit savoir si OOBE est terminé, car elle a un comportement spécial pendant l’OOBE (par exemple, un ensemble de fonctionnalités délimitées dans l’interface utilisateur ou des tâches en arrière-plan qui ne démarrent qu’une fois L’OOBE terminé). En tant qu’OEM, il peut s’agir de votre application qui s’exécute pendant 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);
}

En tant qu’OEM, vous souhaitez savoir qu’un appareil démarre correctement sur OOBE pendant les tests d’usine. Vous souhaitez que chaque appareil passe par ce test en tant qu’étape de vérification finale de votre processus de fabrication. Par conséquent, pendant votre automatisation, vous souhaitez être averti quand OOBE est en cours et prêt.

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

Remarques

L’expérience OOBE (Out-of-Box Experience) est le flux qui se produit la première fois que l’utilisateur allume un appareil Windows 10. L’OOBE obtient l’acceptation du CLUF, définit les paramètres régionaux par défaut du système et aide à configurer le compte d’utilisateur initial.

Propriétés

OutOfBoxExperienceState

Obtient une valeur représentant l’étape actuelle du cycle de vie de l’expérience OOBE (Out-of-Box Experience).

Événements

OutOfBoxExperienceStateChanged

Déclenché lorsque l’étape actuelle du cycle de vie de l’expérience OOBE (Out-of-Box Experience) change.

S’applique à