Compartir a través de


Anclar la aplicación a la barra de tareas

Ahora puede solicitar mediante programación a los usuarios que anclen la aplicación Win32 o UWP a la barra de tareas, similar a cómo puede anclar la aplicación al menú Inicio. Y puedes comprobar si tu aplicación está anclada actualmente y si la barra de tareas permite que se ancle.

Captura de pantalla de una barra de tareas de Windows 11 que muestra la aplicación anclada.

Important

requiere fall Creators Update: debe tener como destino el SDK 16299 y ejecutar la compilación 16299 o posterior para usar las API de la barra de tareas.

APIs importantes: clase TaskbarManager

¿Cuándo debe pedir al usuario que ancle la aplicación a la barra de tareas?

La clase TaskbarManager le permite pedir al usuario que ancle la aplicación a la barra de tareas; el usuario debe aprobar la solicitud. Has puesto mucho esfuerzo en la creación de una aplicación estelar y ahora tienes la oportunidad de pedir al usuario que la fije a la barra de tareas. Pero antes de profundizar en el código, estas son algunas cosas que debe tener en cuenta a medida que diseña su experiencia:

  • Crear una experiencia de usuario no disruptiva y descartable fácilmente en la aplicación con una llamada clara a la acción. Evite usar cuadros de diálogo y controles flotantes para este propósito. Se recomienda asignar iconos accesibles o una experiencia de usuario similar, pero no es necesario.
  • Asegúrese de que la aplicación tiene valor al usuario antes de pedir al usuario que lo ancle.
  • No pedir al usuario que ancle la aplicación si el mosaico ya está anclado o el dispositivo no lo admite. (En este artículo se explica cómo determinar si se admite la asignación de anclajes.)
  • No le pidas repetidamente al usuario que fije la aplicación (probablemente se molestará).
  • No llamar a la API de anclaje sin interacción explícita del usuario o cuando la aplicación está minimizada o no abierta. La aplicación debe estar en primer plano para que el proceso funcione.
  • No usar instaladores para llamar a la API.

Aprobación de la característica de acceso limitado (LAF)

Important

El anclaje de la barra de tareas es una característica de acceso limitado (consulte la clase LimitedAccessFeatures). Para obtener más información o solicitar un token de desbloqueo, use el Formulario de solicitud de token de acceso a LAF.

1. Comprobación de si existen las API necesarias

UWP

Si la aplicación admite versiones anteriores de Windows 10, debe comprobar si la TaskbarManager clase está disponible. Puede usar el método ApiInformation.IsTypePresent para realizar esta comprobación. Si la TaskbarManager clase no está disponible, evite ejecutar ninguna llamada a las API.

if (ApiInformation.IsTypePresent("Windows.UI.Shell.TaskbarManager"))
{
    // Taskbar APIs exist!
}

else
{
    // Older version of Windows, no taskbar APIs
}

Win32

Si quiere usar TaskbarManager desde la aplicación de escritorio WIn32, deberá comprobar si se admite la aplicación de escritorio está presente. Puede buscar la interfaz de ITaskbarManagerDesktopAppSupportStatics marcador en el TaskbarManager generador de activación para realizar esta comprobación. Si esta interfaz no está disponible, no podrá usar TaskbarManager desde la aplicación de escritorio.

if (winrt::try_get_activation_factory<winrt::Windows::UI::Shell::TaskbarManager, winrt::Windows::UI::Shell::ITaskbarManagerDesktopAppSupportStatics>())
{
    // TaskbarManager desktop app support is available.
}
else
{
    // TaskbarManager desktop app support is not available.
}

2. Verifique si la barra de tareas está presente y permite anclar

Las aplicaciones de Windows se pueden ejecutar en una amplia variedad de dispositivos; no todos ellos admiten la barra de tareas. En este momento, solo los dispositivos de escritorio admiten la barra de tareas. Además, las aplicaciones pueden solicitar anclaje, pero es posible que no se permita el anclaje en un momento dado. Se recomienda que las aplicaciones comprueben si se permite el anclaje antes de que se muestre la experiencia de usuario para evitar que los usuarios confundan.

Incluso si la barra de tareas está disponible, una directiva de grupo en el equipo del usuario podría deshabilitar el anclaje de la barra de tareas. Por lo tanto, antes de intentar anclar la aplicación, debe comprobar si se admite el anclaje a la barra de tareas. La propiedad TaskbarManager.IsPinningAllowed devuelve true si la barra de tareas está presente y permite anclarla.

// Check if taskbar allows pinning, apps may request pinning, but pinning may not be allowed at any given time. It is suggested that apps check whether pinning is allowed before a UX is surfaced in order to prevent confusing users.

bool isPinningAllowed = TaskbarManager.GetDefault().IsPinningAllowed;

Important

También hay requisitos que deben cumplirse en el momento en que se realiza realmente la llamada para que se permita la solicitud de anclaje:

  • La aplicación está en primer plano
  • La aplicación tiene una entrada de menú Inicio
  • Para que se muestren las notificaciones, el usuario debe tener habilitadas las notificaciones del sistema. Te recomendamos que muestres este requisito para los usuarios dentro de la experiencia de usuario de la aplicación.

Estos requisitos no darán lugar a una excepción si no se cumplen, la solicitud de anclaje solo se denegará. IsPinningAllowed se puede llamar a para determinar si se permitirá una solicitud de anclaje (aviso).

Note

Si no quiere anclar la aplicación a la barra de tareas y solo quiere buscar si la barra de tareas está disponible, use lapropiedad TaskbarManager.IsSupported .

3. Compruebe si la aplicación está anclada actualmente a la barra de tareas

Obviamente, no hay ningún punto en pedir al usuario que le permita anclar la aplicación a la barra de tareas si ya está anclada allí. Puedes usar el método TaskbarManager.IsCurrentAppPinnedAsync para comprobar si la aplicación ya está anclada antes de preguntar al usuario.

// Check whether your app is currently pinned
bool isPinned = await TaskbarManager.GetDefault().IsCurrentAppPinnedAsync();

if (isPinned)
{
    // The app is already pinned--no point in asking to pin it again!
}
else
{
    //The app is not pinned.
}

4. Anclar la aplicación

Si la barra de tareas está presente y se permite anclar y su aplicación no está anclada, es posible que desee mostrar una sugerencia sutil para que los usuarios sepan que pueden anclar su aplicación. Por ejemplo, puede mostrar un icono de pin en algún lugar de la interfaz de usuario en el que el usuario pueda hacer clic.

Si el usuario hace clic en su interfaz de usuario de sugerencia de anclaje, llamará al método TaskbarManager.RequestPinCurrentAppAsync. Este método muestra un cuadro de diálogo en el que se pide al usuario que confirme que desea anclar la aplicación a la barra de tareas.

Important

Se debe llamar desde un subproceso de interfaz de usuario en primer plano; de lo contrario, se producirá una excepción.

// Request to be pinned to the taskbar.
bool isPinned = await TaskbarManager.GetDefault().RequestPinCurrentAppAsync();

Pin dialog

Este método devuelve un valor booleano que indica si la aplicación está anclada ahora a la barra de tareas. Si la aplicación ya estaba anclada, el método devuelve true inmediatamente sin mostrar el cuadro de diálogo al usuario. Si el usuario hace clic en "no" en el cuadro de diálogo o si no se permite anclar la aplicación a la barra de tareas, el método devuelve false. De lo contrario, el usuario hizo clic en Sí y la aplicación se ancló y la API devolverá true.

Resources