Friday 25 November 2011

How to add Tasks to Jumplists in .NET 4.0 and Windows 7

Introduction

Windows 7 provides a new taskbar feature for applications called jumplists. They appear, when you right-click on a application icon in the taskbar. By default you see a list of recent files opened and two entries to launch and detach the application.
.NET 4.0 provides a managed API that allows you to easily manipulate the entries in the jumplist.

How to add a Task to the Jumplist

A jumplist is nothing more than a categorizes list of links to files that can be launched by the user. The links are called JumpTasks. They can be parametrized with a title, description, icon, filepath and command line arguments.
In the following sample I create a new JumpList and add a task to the list that launches the sample application, but with a command line argument. If the application is launched with an argument, it shows a MessageBox instead.
 
public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
 
        if (e.Args.Count() > 0)
        {
            MessageBox.Show("You have the latest version.");
            Shutdown();
        }
 
        JumpTask task = new JumpTask
        {
            Title = "Check for Updates",
            Arguments = "/update",
            Description = "Cheks for Software Updates",
            CustomCategory = "Actions",
            IconResourcePath = Assembly.GetEntryAssembly().CodeBase,
            ApplicationPath = Assembly.GetEntryAssembly().CodeBase 
        };
 
        JumpList jumpList = new JumpList();
        jumpList.JumpItems.Add(task);
        jumpList.ShowFrequentCategory = false;
        jumpList.ShowRecentCategory = false;
 
        JumpList.SetJumpList(Application.Current, jumpList);
    }
}
 

No comments:

Post a Comment