API de reinicio
La API de reinicio permite que cualquier aplicación, incluidas las aplicaciones Win32 empaquetadas o desempaquetadas, finalice y reinicie en el comando, incluida la capacidad de proporcionar una cadena de línea de comandos arbitraria para la instancia reiniciada.
public static AppRestartFailureReason Restart(String arguments)
arguments
: String
Argumentos que se van a pasar a la instancia reiniciada.
La API de reinicio devuelve un AppRestartFailureReason
.
Para usar la API de ciclo de vida de la aplicación en el SDK de aplicaciones para Windows:
- Descargue e instale la versión experimental más reciente del SDK de Aplicaciones para Windows. Para obtener más información, consulte Introducción a WinUI.
- Siga las instrucciones para crear su primer proyecto de WinUI 3 o para usar el SDK de aplicaciones para Windows en un proyecto existente.
En el caso de las aplicaciones Win32, existen los siguientes mecanismos de reinicio posibles:
- RegisterApplicationRestart de la API de Win32 permite que una aplicación se registre después de la finalización y proporcione una cadena de línea de comandos arbitraria para la instancia reiniciada. Las razones para la finalización incluyen bloqueo o bloqueo de la aplicación, actualización de la aplicación o actualización del sistema.
Sin embargo, existía una brecha para el escenario siguiente:
- Las aplicaciones Win32 pueden registrarse con el sistema operativo para reiniciarse en estados específicos de la aplicación o del sistema operativo, pero no pueden iniciar un reinicio desde un estado correcto.
Esta API de reinicio permite que las aplicaciones Win32 finalicen y reinicien en el comando y se alinean con coreApplication.RequestRestartAsync existente de CoreApplication.RequestRestartAsync.
Simplemente llame al método Restart y especifique una cadena de línea de comandos arbitraria para que la instancia reiniciada se reinicie con. El reinicio se completa de forma sincrónica y no se requiere ninguna otra acción o control. Si se produce un error en el reinicio por algún motivo, el método Restart devuelve un motivo de error.
private void restartAfterUpdate()
{
AppRestartFailureReason restartError = AppInstance.Restart(restartArgsInput);
switch (restartError)
{
case AppRestartFailureReason.RestartPending:
SendToast("Another restart is currently pending.");
break;
case AppRestartFailureReason.InvalidUser:
SendToast("Current user is not signed in or not a valid user.");
break;
case AppRestartFailureReason.Other:
SendToast("Failure restarting.");
break;
}
}
Para ver los ejemplos de reinicio, visite el repositorio WindowsAppSDK-Samples.
Comentaris de Windows developer
Windows developer és un projecte de codi obert. Seleccioneu un enllaç per enviar comentaris: