Compartilhar via


SystemSetupInfo Classe

Definição

Fornece uma propriedade e um evento que descrevem o estágio atual no ciclo de vida da OOBE (Experiência Pronta para Uso).

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
Herança
Object Platform::Object IInspectable SystemSetupInfo
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10, version 1809 (introduzida na 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v7.0)

Exemplos

Um aplicativo de Plataforma Universal do Windows (UWP) precisa saber se o OOBE está concluído, pois ele tem um comportamento especial durante o OOBE (por exemplo, um conjunto de recursos com escopo na interface do usuário) ou tarefas em segundo plano que só começam após a conclusão do OOBE. Como um OEM, esse pode ser o aplicativo executado durante o 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);
}

Como OEM, você deseja saber que um dispositivo é inicializado com êxito no OOBE durante o teste de chão de fábrica. Você deseja que todos os dispositivos passem por esse teste como uma etapa de verificação final em seu processo de fabricação e, portanto, durante a automação, você deseja ser notificado quando o OOBE estiver em andamento e pronto.

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

Comentários

A OOBE (Experiência Pronta para Uso) é o fluxo que ocorre na primeira vez que o usuário ativa um dispositivo Windows 10. O OOBE obtém a aceitação do EULA, define a localidade padrão do sistema e ajuda a configurar a conta de usuário inicial.

Propriedades

OutOfBoxExperienceState

Obtém um valor que representa o estágio atual no ciclo de vida da OOBE (Experiência Pronta para Uso).

Eventos

OutOfBoxExperienceStateChanged

Gerado quando o estágio atual no ciclo de vida da OOBE (Experiência Pronta para Uso) é alterado.

Aplica-se a