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 )
コメントを残す
コメントを投稿するにはログインしてください。