ディスクアクセス状況を通知する.NETアプリケーションを作る
PlusPak for Windows Forms 5.0Jのプログレスバーを使ったアプリケーションの作成
ダウンロード サンプルソース(C#) (91.3 KB)
ダウンロード サンプルソース(VB) (109.5 KB)
ダウンロード 実行ファイル (886.3 KB)
GUIのデザイン
今回使用するコントロールです。

1
フォームは、次のプロパティを設定し、デスクトップの左上にサイズ変更できない形に設定します。
| プロパティ | 設定値 |
| ControlBox | False |
| FormBorderStyle | FixedToolWindow |
| StartPosition | Manual |
| Location | 0、0 |
2
Labelコントロールは、Imageプロパティにアイコンをセットしています。
3
Timerコントロールは、次のプロパティを設定します。
| プロパティ | 設定値 |
| Enabled | True |
| Interval | 100 |
4
ContextMenuStripコントロールは「終了」メニューを作成し、ShortcutKeysプロパティに「Ctrl+X」を設定します。そして、フォームとフォーム上のすべてのコントロールの「ContextMenuStrip」プロパティに、このContextMenuStripコントロールを設定しておきます。
作成するプログラムの機能
このプログラムでは、Windowsのパフォーマンスカウンタの機能の一部を呼び出してPlusPak for Windows Forms 5.0JのGcProgressBarコントロールを使用し、Windows Vistaで使われているプログレスバーでディスクのアクセス状況を論理ドライブごとに表示します。
動作原理は簡単で、Windowsのパフォーマンスモニタにあるカウンタパラメータ「Disk Transfer」と同じものを.NET FrameworkのPerformanceCounterクラスを使って取得し、TimerコントロールのTickイベントハンドラで100ミリ秒ごとに更新していきます。パフォーマンスカウンタの取得方法さえ分かれば、ディスク容量の取得やCPUの稼動状況、メモリの空き容量など、パフォーマンスモニタで表示できるデータはほとんど取得できます。
今回は論理ドライブの転送(Read/Write)バイト量を取得し、GcProgressBarコントロールで表示します。ドライブの指定は自動で論理ドライブを設定する方法もありますが、記事ページの都合により最初から論理ドライブを指定する方法を使いました。
この記事は参考になりましたか?
- ComponentZine(PlusPak)連載記事一覧
- この記事の著者
-
瀬戸 遥(セト ハルカ)
8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

