フォルダの監視

FindFirstChangeNotification、ReadDirectoryChangesW、SHChangeNotifyRegisterの
三種類あると思うけど、FindFirstChangeNotification、ReadDirectoryChangesWは
ごみ箱の監視ができないので却下。


とりあえず速度を見るために、スレッドを使わずに実装してみた。
どのSHCNE系のメッセージでもフォルダ内の情報を再取得して、更新情報だけを
ListViewに反映させるようにした。


フォルダに4000個のファイルを入れてのテスト。
1つのファイルの追加と削除をテストしてみると、
追加は速いのだが、削除が遅い。平均して1420msくらいかかる。
アルゴリズムを変えたりしてみたけど、速くならない。


いろいろ試しているうちに気づいたのだけど、
ごみ箱への削除自体がCPUを食い過ぎるみたい。
但しファイルが100個程度のフォルダならばごみ箱への削除は速い。
大量ファイルの場合マルチスレッドの必要性が発生する。


とりあえず、監視スレッドは後回し。簡単に実装できるし。