10行で理解する JumpList (VS2010 beta 2 編)

(保存先はJumpList はどこに保存されているのか で取り上げています)

.NET Framework 4.0 beta 2 より、新たに System.Windows.Shell 名前空間 (PresentationFramework 4.0) が追加されました。

JumpList は Windows 7 より新たに導入されたタスクバーの機能です。

image

図 Pin された Live Messenger のアイコンを右クリックした際に表示される JumpList

JumpList をカスタマイズすることによって、このようにアプリケーション固有のよく使われる Task を追加することが可能です。
では、JumpList を利用するために必要なコードを書いてみましょう。

Visual Studio 2010 beta 2 で新しいプロジェクト (Windows Forms Application) を作成し、以下のコードを追加します。

using System;
using System.ComponentModel;
using System.Windows.Forms;

using System.Windows.Shell;

namespace JumpListTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            JumpList jumpList = new JumpList(
new JumpItem[] { new JumpTask() { Arguments = "/Task1", Title = "CustomTask1" } }, true, true);

            jumpList.Apply();
        }
    }
}

jumpList のアイテムを編集した場合には Apply() を呼び出すことを忘れないでください。

このプログラムを実行すると以下のように JumpList が作成されます。

image

アプリケーションをタスクバーに Pin し、終了させると図のように JumpList が保持されていることを確認できます。

image

ここで追加した CustomTask1 には引数として “/Task1” が割り当てられています。次にProgram.cs を開き、以下の太字になっている行を追加します。

using System;
using System.Linq;
using System.Windows.Forms;

namespace JumpListTest
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            if (Environment.GetCommandLineArgs().Contains("/Task1"))
{

                // ここに処理を追加する
                MessageBox.Show("CustomTask1 が呼び出された");
return;
}

            Application.Run(new Form1());
        }
    }
}

ここでタスクバーから CustomTask1 を選択すると

image

と表示されます。このように .NET Framework 4.0 では数行追加するだけでアプリケーションで Windows 7 の新機能を利用することができます。

ソースコードを添付しましたので実際に試してみてください。

JumpListTest.zip