TNB Library
クラス | 公開メンバ関数 | 全メンバ一覧
CDirectoryWatcher クラス

ディレクトリ監視クラス [詳解]

#include <TnbDirectoryWatcher.h>

+ CDirectoryWatcher の継承関係図

クラス

struct  IListener
 ディレクトリ監視のリスナーインターフェース [詳解]
 

公開メンバ関数

 CDirectoryWatcher (void)
 コンストラクタ [詳解]
 
CThreadStatusReferThreadStatus (void)
 [参照] 監視スレッド状態参照. [詳解]
 
bool Start (LPCTSTR lpszPath, bool boWithSubDir, DWORD dwFlags, IListener *pListener)
 [開始] 監視開始 [詳解]
 
void Stop (void)
 [停止] 監視停止 [詳解]
 
virtual ~CDirectoryWatcher (void)
 デストラクタ [詳解]
 

詳解

ディレクトリ監視クラス

指定のディレクトリの変化を監視するためのクラスです。

指定の変化があるとリスナーに通知されます。
その際、どんな変化があったかはわかりませんので、変化内容を知りたい場合、
監視フラグ毎に本クラスのインスタンスを複数作る必要があります
(リスナーにはフラグ情報が来るので、一つのリスナーで対応可能です)。
参照
http://nienie.com/~masapico/api_FindFirstChangeNotification.html
覚え書き
リスナー内で SendMessage を使う場合、 ReferThreadStatus()関連ウィンドウを指定する 必要があります。 CThread::SetOwnerHwnd() を参照してください。
必要ファイル
TnbDirectoryWatcher.h
日付
06/12/01 新規
10/03/19 ReferThreadStatus() 追加。

TnbDirectoryWatcher.h42 行目に定義があります。

構築子と解体子

◆ CDirectoryWatcher()

CDirectoryWatcher ( void  )

コンストラクタ

TnbDirectoryWatcher.h111 行目に定義があります。

◆ ~CDirectoryWatcher()

virtual ~CDirectoryWatcher ( void  )
virtual

デストラクタ

TnbDirectoryWatcher.h116 行目に定義があります。

関数詳解

◆ ReferThreadStatus()

CThreadStatus & ReferThreadStatus ( void  )

[参照] 監視スレッド状態参照.

戻り値
スレッド状態の参照.

TnbDirectoryWatcher.h175 行目に定義があります。

◆ Start()

bool Start ( LPCTSTR  lpszPath,
bool  boWithSubDir,
DWORD  dwFlags,
IListener pListener 
)

[開始] 監視開始

引数
lpszPath監視を行うディレクトリのディレクトリ名
boWithSubDirtureを指定すると指定ディレクトリ以下のサブディレクトリ内も監視対象になります。
dwFlagsどのようなイベントを監視するかを指定するフラグ。
FilterFlagsに指定できる値は、以下のフラグの論理和である。
FILE_NOTIFY_CHANGE_FILE_NAME ファイルの追加・削除、ファイル名の変更
FILE_NOTIFY_CHANGE_DIR_NAME ディレクトリの追加・削除、ディレクトリ名の変更
FILE_NOTIFY_CHANGE_ATTRIBUTES 属性の変更
FILE_NOTIFY_CHANGE_SIZE サイズの変更
FILE_NOTIFY_CHANGE_LAST_WRITE 最終書き込み時刻の変更
FILE_NOTIFY_CHANGE_SECURITY セキュリティ属性の変更
pListenerリスナー。
戻り値
true成功
false失敗

TnbDirectoryWatcher.h137 行目に定義があります。

◆ Stop()

void Stop ( void  )

[停止] 監視停止

覚え書き
監視開始していない場合、何もしません。

TnbDirectoryWatcher.h160 行目に定義があります。