Windows 7 – Indicador de Progreso en la Barra de Tareas

Hace poco en el trabajo, me vi en la necesidad de actualizar un simulador de cliente, adecuarlo a mis necesidades y agregar el indicador de progreso en la barra de tareas.

Esta tarea es bastante trivial gracias a la ayuda de Windows API Code Pack, la cual provee la integración del indicador de progreso por medio de la clase TaskManager.

 Estados de Progreso

La barra de tareas puede mostrar los siguientes estados:

  • NoProgress (Sin mostrar progreso): No muestra información.
  • Normal: Muestra el progreso como una barra de color verde.
  • Paused (En espera): Muestra el progreso como una barra de color amarillo.
  • Error: Muestra el progreso como una barra de color rojo:
  • Indeterminate (Indeterminado): Muestra el progreso como una marquesina.

Configuración del Proyecto

Para este ejemplo se usará un proyecto C# WindowsForms. Es necesario añadir las siguientes referencias:

  • Microsoft.WindowsAPICodePack
  • Microsoft.WindowsAPICodePack.Shell

Código del Indicador de Progreso

Primero es necesario crear una variable de tipo TaskBarManager.


private TaskbarManager windowTaskbar = TaskbarManager.Instance;

En el constructor del Formulario, se establece la identificación de la aplicación.


windowTaskbar.ApplicationId = "WindowsTaskbar";

Si se desea establecer un valor por defecto para el progreso en la barra de tareas, este debe realizarse después de haberse cargado el formulario. Un ejemplo de donde establecerlo, es en el evento Shown.


windowTaskbar.SetProgressState(TaskbarProgressBarState.NoProgress);

Para modificar el valor de la barra de progreso, utilizamos el método SetProgressState


windowTaskbar.SetProgressValue(25, 100);

He preparado un sencillo ejemplo de como mostrar el progreso por medio de la barra de tareas en Windows 7, incluso funciona correctamente en Windows 8.

Este ejemplo necesita que hayas instalado Windows API Code Pack.
Descargar el archivo de ejemplo: WindowsTaskbar.rar

Acerca del Autor

Jonathan BúcaroBackEnd Developer / Planeswalker. Soy una persona que le gusta aprender, me especializado en el desarrollo y mantenimiento de aplicaciones bancarias.Ver todas las publicaciones por Jonathan Búcaro →

Deja un comentario