Usando overlay icons en Windows 7

Posted on Actualizado enn


Bueno, a pesar que ya salio hace bastante tiempo windows 7 el cual en lo personal me parece excelente (uso la version ultimate de 32 bits), me gusta su interfaz, las nuevas funcionalidades, lo gran usabilidad que tiene y sobretodo que todas esas caracteristicas que hacen de windows 7 un muy buen sistema operativo las podemso utilizar en nuestros desarrollos.

Asi que hare algunos post mostrando como poder utilizar el API para acceder a todas estas funcionalidades.. no voy a entran en detalles teoricos sobre el modelo de seguridad, y demás que debemos conocer para poder desarrollar aplicaciones compatibles con windows 7, ya que existe bastante y excelente información del tema…asi que voy a ir al grano, mostrar como se hace además por el poco tiempo que me queda.

Para los ejemplos vamos a necesitar un windows 7, y el API/ librerias que nos proveeran todo el acceso a las funcionalidades, de aqui lo puedes bajar !! alli tenemos la documentación, las dll necesarias y toda la documentación.

En este primer post vamos a mirar como podemos usar iconos sobrepuestos sobre el icono principal de nuestra aplicación para que así el usuario sepa el estado de la aplicación.

Ahora  a trabajar !!

Vamos a crear un nuevo proyecto de tipo windows.. para WPF y Windows Form funciona de la misma manera, lo hare en windows form porque luego quiero comenzar a realizar algunos post sobre como podemos trabajar con WPF…

Lo primero que debemos hacer es agregar la referencia a dos librerias:

  • Microsoft.WindowsAPICodePack.dll
  • Microsoft.WindowsAPICodePack.Shell.dll

Ahora vamos a ir agregando algunos elementos de interfaz a nuestro formulario, arrastermos un group, y dentro de él un boton con una caja de texto, este cumplira la funcion de informar al usuario si el sistema operativo soporta el taskbar, ahora en el codebehind importamos dos namespaces:

  • Microsoft.WindowsAPICodePack
  • Microsoft.WindowsAPICodePack.Taskbar

y para verificar si el sistema operativo soporta el API es tan fácil usando la clase TaskbarManger: If TaskbarManager.IsPlatformSupported Then y el método retorna true en caso de tener un SO correcto.

…hasta el momento nuestra aplicación se verá asi:

Bueno ahora vamos a ver como podemos colocar iconos sobrepuestos…

1. Agregamos algunas imagens de tipo icon a los recursos del proyecto.

2. Declaramos una enumeracion para listar los posibles tipos de iconos a usar

Private Enum TipoIcono
Ok
Help
Msn
End Enum

3. Obtenemos la instancia del taskbar

Private oIconTaskbar As TaskbarManager = TaskbarManager.Instance

4. Se crea el metodo que recibe como parametro la enumeración para establecer el icono.

Private Sub EstableceIcono(ByVal oIcono As TipoIcono)
Select Case CInt(oIcono)
Case 0:oIconTaskbar.SetOverlayIcon(My.Resources.ok, “AppOk”)
Case 1:oIconTaskbar.SetOverlayIcon(My.Resources.help, “AppHelp”)
Case 2:oIconTaskbar.SetOverlayIcon(My.Resources.msn, “AppHelp”)
End Select
End Sub

5. Desde el click de cada botón llamamos el método del paso anterior.

Private Sub ButtonIconOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonIconOk.Click
Call EstableceIcono(oIcono:=TipoIcono.Ok)
End Sub

Y listo…ya podemos usar los iconos cobrepuestos en el taskbar de windows 7… asi lucira el icono:

Espero les sea de utilidad…nos vempos en un proximo post donde veremos otra funcionalidad de windows 7 y como poder usarla de una manera fácil…

Descarga del ejemplo !!

Un comentario sobre “Usando overlay icons en Windows 7

    dexter escribió:
    10/23/2010 en 08:45

    buen post por fin puedo descargar uno de sus ejemplos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s