2012年11月23日金曜日

ジャンプリストを実装するプログラムその2


前回に引き続き、Windows8 の ジャンプリスト を使うための、C# のプログラムです。

今回も、PresentationFramework を利用しています。参照に追加してください。

Form に Button を3つ追加します。
ボタンの機能は

    ボタン1  新規
    ボタン2  追加
    ボタン3  削除

となります。

コメントアウトしてますが、

jumpList1 = JumpList.GetJumpList(System.Windows.Application.Current);

で、起動時のジャンプリストを取得しようとしたのですが、上手くいきませんでした。
これができないと、起動前の状態への追加ができないので困っています。



Form1.cs
====================================

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Shell;
using System.IO;

namespace Jump_List
{
    public partial class Form1 : Form
    {
        JumpList jumpList1 = new JumpList();

        public Form1()
        {
            InitializeComponent();
         
            // jumpList1 = JumpList.GetJumpList(System.Windows.Application.Current);

        }

        private void button1_Click(object sender, EventArgs e)
        {

            // JumpTask 作成
            JumpTask jumpTask1 = new JumpTask();

            // JumpTask のプロパティ設定
            jumpTask1.ApplicationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "calc.exe");
            jumpTask1.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "calc.exe");
            jumpTask1.Arguments = "";
            jumpTask1.Title = "Calculator";
            jumpTask1.Description = "Open Calculator.";
            jumpTask1.CustomCategory = "User Added Tasks";

            // JumpTask 作成
            JumpTask jumpTask2 = new JumpTask();

            // JumpTask のプロパティ設定
            jumpTask2.ApplicationPath = Path.Combine(Environment.GetEnvironmentVariable("windir"), "notepad.exe");
            jumpTask2.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "notepad.exe");
            jumpTask2.Arguments = "";
            jumpTask2.Title = "NotePad";
            jumpTask2.Description = "Open NotePad";
            jumpTask2.CustomCategory = "User Added Tasks";


            // JumpList に JumpTask 登録
            jumpList1 = new JumpList(new JumpItem[] { jumpTask1, jumpTask2 }, true, true);

            // 表示
            jumpList1.Apply();
        }

        private void button2_Click(object sender, EventArgs e)
        {

            // JumpTask 作成
            JumpTask jumpTask3 = new JumpTask();

            // JumpTask のプロパティ設定
             jumpTask3.ApplicationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe");
            jumpTask3.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe");
            jumpTask3.Arguments = "/c dir";
            jumpTask3.Title = "cmd";
            jumpTask3.Description = "cmd";
            jumpTask3.CustomCategory = "User Added Tasks";

            // ジャンプリストの追加
            jumpList1.JumpItems.Add(jumpTask3);

            // 表示
            jumpList1.Apply();


        }

        private void button3_Click(object sender, EventArgs e)
        {
            // ジャンプリストのクリア
            jumpList1.JumpItems.Clear();
            jumpList1.Apply();
          }
    }
}

====================================

0 件のコメント:

コメントを投稿