SystemSetupInfo Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |