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.








