Поделиться через


SystemSetupInfo Класс

Определение

Предоставляет свойство и событие, описывающие текущий этап жизненного цикла запуска при первом включении компьютера.

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) необходимо знать, завершен ли запуск при первом включении, так как оно имеет особое поведение во время запуска при первом включении (например, набор функций с заданной областью в пользовательском интерфейсе или фоновые задачи, которые запускаются только после завершения запуска при первом включении). Как изготовитель оборудования, это может быть ваше приложение, которое выполняется во время запуска при первом включении компьютера.

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

Как изготовитель оборудования вы хотите знать, что устройство успешно загружается при первом включении компьютера во время тестирования на заводе. Вы хотите, чтобы каждое устройство проходило это тестирование в качестве последнего этапа проверки в производственном процессе, и поэтому во время автоматизации вы хотите получать уведомления о выполнении и готовности к запуску при первом включении компьютера.

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

Комментарии

При первом включении устройства с Windows 10 происходит поток при первом включении устройства с Windows 10. OOBE получает принятие лицензионного соглашения, задает языковой стандарт системы по умолчанию и помогает настроить начальную учетную запись пользователя.

Свойства

OutOfBoxExperienceState

Возвращает значение, представляющее текущий этап жизненного цикла при первом включении компьютера.

События

OutOfBoxExperienceStateChanged

Возникает при изменении текущего этапа жизненного цикла при первом включении компьютера (OOBE).

Применяется к