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
- Наследование
- Атрибуты
Требования к 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). |