C#で作るフォルダ監視サービス

2006-02-07
このエントリーをはてなブックマークに追加

これまでWindows サービスを作るにはC++の知識が必須でしたが、.NETのおかげでかなり開発しやすくなりました。(処理速度的にどうよ、2000serverで動かないケースもあるよ、というのは置いといて)

まずは、フォルダの状態監視ツールでも作ってみましょう。

using System.IO;
//状態監視の宣言
Private FileSystemWatcher fileWatcher = new FileSystemWatcher();

Protected override void OnStart(strings[] args)
{
    //監視対象のディレクトリを指定
    fileWatcher.Path = @”E:¥watch_test”;

    //フォルダサイズが変わったらイベントを起こす
    fileWatcher.NotifyFilter = (NotifyFilters.Size);

    //起こすイベントの定義
    fileWatcher.Changed += new FileSystemEventHandler(OnChanged);

    //監視を有効にする
    fileWatcher.EnableRaisingEvents = true;
}

Public static void OnChanged(System.Object source,FileSystemEventArgs e)
{
    //これが変更時に起きるイベント
}

あくまでサンプルです。こんなチンケなことしかできないわけではありません。
もっと多くのことが監視できます。ま、さわりです。

ファイル単位で監視したり、フォルダも多くのイベント、状態を監視できます。
わずか数行のコードでこれだけのことができるのですから、すごいですね。

Tags: