Bagikan melalui


SystemSetupInfo Kelas

Definisi

Menyediakan properti dan peristiwa yang menjelaskan tahap saat ini dalam siklus hidup Pengalaman Out-of-Box (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
Warisan
Object Platform::Object IInspectable SystemSetupInfo
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10, version 1809 (diperkenalkan dalam 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v7.0)

Contoh

Aplikasi Platform Windows Universal (UWP) perlu mengetahui apakah OOBE selesai, karena memiliki perilaku khusus selama OOBE (misalnya, fitur tercakup yang diatur dalam antarmuka pengguna (UI), atau tugas latar belakang yang hanya dimulai setelah OOBE selesai). Sebagai OEM, ini bisa menjadi aplikasi Anda yang berjalan selama 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);
}

Sebagai OEM, Anda ingin tahu bahwa perangkat berhasil boot ke OOBE selama pengujian lantai pabrik. Anda ingin setiap perangkat melalui pengujian ini sebagai langkah verifikasi akhir dalam proses manufaktur Anda, dan oleh karena itu selama otomatisasi Anda, Anda ingin diberi tahu ketika OOBE sedang berlangsung dan siap.

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

Keterangan

Pengalaman Out-of-Box (OOBE) adalah alur yang terjadi pertama kali pengguna mengaktifkan perangkat Windows 10. OOBE mendapatkan penerimaan EULA, mengatur lokal default sistem, dan membantu menyiapkan akun pengguna awal.

Properti

OutOfBoxExperienceState

Mendapatkan nilai yang mewakili tahap saat ini dalam siklus hidup Pengalaman Di Luar Kotak (OOBE).

Acara

OutOfBoxExperienceStateChanged

Muncul ketika tahap saat ini dalam siklus hidup Out-of-Box Experience (OOBE) berubah.

Berlaku untuk