FileDownload.zipWindows7では、IEでファイルをダウンロードする際などに、タスクバーボタンに進捗を表示することができます
これは.net framework4 でWPFを利用することで、簡単に実装できます
今回は、この実装方法をファイルのダウンロードツールの作成をしながら説明します
(といっても、この処理は数行で実装できるのでダウンロードツールを作った時になんとなく入れてみたサンプルです)
作成したツールはこんな感じになります
DownloadUrl には、ダウンロードするファイルのURLを指定します
例)「http://astel-labs.net/tools/FileDownload.zip」
FileName には、ダウンロードした際に付けるファイルの名称を指定します
例)「FileDownload.zip」
このツールは説明用に簡単に作成しているので、最初のファイルのメタ情報取得時にフリーズしたような動きをしますが、その辺が気になるようでしたら改造してみてください
ツールの細かい説明はソースコードを見てもらうとして、
タスクバーボタンのコードは以下のようになります
using System.Windows.Shell;
namespace FileDownload
{
/// <SUMMARY>
/// MainWindow.xaml の相互作用ロジック
/// </SUMMARY>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// Windows7のタスクバーボタンのプログレス表示用
this.TaskbarItemInfo = new TaskbarItemInfo()
{
ProgressState = TaskbarItemProgressState.Normal,
ProgressValue = 0
};
//this.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Normal;
//this.TaskbarItemInfo.ProgressValue = 0; // 初期値を0にする
}
public void ProgressChanged( int ProgressPercentage )
{
// タスクバーボタンにダウンロード状況を表示(0.0~1.0の範囲で設定)
this.TaskbarItemInfo.ProgressValue = (double)ProgressPercentage / 100.0;
}
}
}
これだけでタスクボタンにプログレス表示することができます
基本は「System.Windows.Window」クラスの TaskbarItemInfo パラメータに「System.Windows.Shell.TaskbarItemInfo」クラスの ProgressValue パラメータを設定するだけです
ProgressValue パラメータは0.0~1.0の範囲をdouble型で指定します
ソースファイル
・FileDownload ( VisualStudio2010、.net framework4 )


コメントを残す
コメントを投稿するにはログインしてください。