Freigeben über


SystemSetupInfo Klasse

Definition

Stellt eine Eigenschaft und ein Ereignis bereit, die die aktuelle Phase im Lebenszyklus der Out-of-Box Experience (OOBE) beschreiben.

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
Vererbung
Object Platform::Object IInspectable SystemSetupInfo
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10, version 1809 (eingeführt in 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v7.0)

Beispiele

Eine Universelle Windows-Plattform-App (UWP) muss wissen, ob OOBE abgeschlossen ist, da sie während der OOBE ein besonderes Verhalten aufweist (z. B. ein bereichsbezogenes Feature in der Benutzeroberfläche oder Hintergrundaufgaben, die erst nach Abschluss von OOBE gestartet werden). Als OEM kann dies Ihre App sein, die während der OOBE ausgeführt wird.

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

Als OEM möchten Sie wissen, dass ein Gerät während der Fabrikbodentests erfolgreich in OOBE gestartet wird. Sie möchten, dass jedes Gerät diese Tests als letzten Überprüfungsschritt in Ihrem Herstellungsprozess durchläuft, und daher möchten Sie während Der Automatisierung benachrichtigt werden, wenn OOBE in Arbeit ist und bereit ist.

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

Hinweise

Die Out-of-Box Experience (Out-of-Box Experience, OOBE) ist der Flow, der beim ersten Einschalten eines Windows 10 Geräts auftritt. Die OOBE erhält die Zustimmung zum EULA, legt das Standardgebietsschema des Systems fest und hilft beim Einrichten des anfänglichen Benutzerkontos.

Eigenschaften

OutOfBoxExperienceState

Ruft einen Wert ab, der die aktuelle Phase im Lebenszyklus der Out-of-Box Experience (OOBE) darstellt.

Ereignisse

OutOfBoxExperienceStateChanged

Wird ausgelöst, wenn sich die aktuelle Phase im Lebenszyklus der Out-of-Box Experience (OOBE) ändert.

Gilt für: