Windows Vista prima e Windows 7 successivamente hanno (finalmente) portato un po’ di rinnovamento alla GUI di Windows che tema dei colori a parte, era rimasta sostanzialmente immutata dai tempi di Windows 95. Lo stesso framework .Net, con l’introduzione di WPF, con la sua versione 3.x, ha portato nuovi strumenti che permettono agli sviluppatori di realizzare applicazioni con interfacce grafiche più accattivanti.
In questo breve tutorial vedremo come, su Windows 7, sfruttare le nuove jumplist della taskbar: le jumplist non sono altro che quelle finestre “baloon” che si aprono al click del tasto destro del mouse cliccando su un’icona della taskbar come mostrato di seguito.

Gli strumenti utilizzati sono: .Net Framework 4.0 e Visual Studio 2010.
Per prima cosa apriamo Visual Studio 2010 e creiamo un nuovo progetto del tipo “WPF Application” e modifichiamo il target al framework 4.0.
A questo punto importiamo il namespace System.Windows.Shell
using System.Windows.Shell;
Siamo ora pronti a creare la nostra JumpList aggiungendo il nostro codice al metodo
private void Window_Loaded(object sender, RoutedEventArgs e);
Premessa: quello che andremo a fare è creare un nuovo “gruppo” denominato “Link utili” a cui aggiungeremo un link ad Internet Explorer (che nel mio caso, avendo Windows 7 a 64 bit si troverà al path: “C:\Program Files (x86)\Internet Explorer\iexplore.exe”).
Il come farlo è mostrato di seguito con i commenti che sono più che sufficienti a descrivere le azioni compiute:
// Dichiaro l'oggetto JumpTask da aggiungere alla JumpList
JumpTask jumpTask1 = new JumpTask();
// Modifico il comportamento del JumpTask
jumpTask1.ApplicationPath = @"C:\Program Files (x86)\Internet Explorer\iexplore.exe";
jumpTask1.IconResourcePath = @"C:\Program Files (x86)\Internet Explorer\iexplore.exe";
jumpTask1.Title = "Internet Explorer";
jumpTask1.Description = "Apri Internet Explorer.";
jumpTask1.CustomCategory = "Link utili";
// Aggiungo il JumpTask alla JumpList
JumpList jumpList2 = new JumpList();
jumpList2.JumpItems.Add(jumpTask1);
// Aggiungo la JumpList alla nostra applicazione
JumpList.SetJumpList(App.Current, jumpList2);